All of lore.kernel.org
 help / color / mirror / Atom feed
* [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945
@ 2018-08-06 14:29 Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 02/12] binutls: Security fix CVE-2018-7643 Armin Kuster
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |  1 +
 .../binutils/binutils/CVE-2018-8945.patch          | 70 ++++++++++++++++++++++
 2 files changed, 71 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-8945.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index 9c883ac..349fa5a 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -35,6 +35,7 @@ SRC_URI = "\
      file://0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
      file://0014-Detect-64-bit-MIPS-targets.patch \
      file://0015-sync-with-OE-libtool-changes.patch \
+     file://CVE-2018-8945.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-8945.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-8945.patch
new file mode 100644
index 0000000..6a43168
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-8945.patch
@@ -0,0 +1,70 @@
+From 95a6d23566165208853a68d9cd3c6eedca840ec6 Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Tue, 8 May 2018 12:51:06 +0100
+Subject: [PATCH] Prevent a memory exhaustion failure when running objdump on a
+ fuzzed input file with corrupt string and attribute sections.
+
+	PR 22809
+	* elf.c (bfd_elf_get_str_section): Check for an excessively large
+	string section.
+	* elf-attrs.c (_bfd_elf_parse_attributes): Issue an error if the
+	attribute section is larger than the size of the file.
+
+Upsteram-Status: Backport
+Affects: Binutils <= 2.30
+CVE: CVE-2018-8945
+Signed-off-by: Armin kuster <akuster@mvista.com>
+---
+ bfd/ChangeLog   | 8 ++++++++
+ bfd/elf-attrs.c | 9 +++++++++
+ bfd/elf.c       | 1 +
+ 3 files changed, 18 insertions(+)
+
+Index: git/bfd/elf-attrs.c
+===================================================================
+--- git.orig/bfd/elf-attrs.c
++++ git/bfd/elf-attrs.c
+@@ -438,6 +438,15 @@ _bfd_elf_parse_attributes (bfd *abfd, El
+   /* PR 17512: file: 2844a11d.  */
+   if (hdr->sh_size == 0)
+     return;
++  if (hdr->sh_size > bfd_get_file_size (abfd))
++    {
++      /* xgettext:c-format */
++      _bfd_error_handler (_("%pB: error: attribute section '%pA' too big: %#llx"),
++			  abfd, hdr->bfd_section, (long long) hdr->sh_size);
++      bfd_set_error (bfd_error_invalid_operation);
++      return;
++    }
++
+   contents = (bfd_byte *) bfd_malloc (hdr->sh_size + 1);
+   if (!contents)
+     return;
+Index: git/bfd/elf.c
+===================================================================
+--- git.orig/bfd/elf.c
++++ git/bfd/elf.c
+@@ -298,6 +298,7 @@ bfd_elf_get_str_section (bfd *abfd, unsi
+       /* Allocate and clear an extra byte at the end, to prevent crashes
+ 	 in case the string table is not terminated.  */
+       if (shstrtabsize + 1 <= 1
++	  || shstrtabsize > bfd_get_file_size (abfd)
+ 	  || bfd_seek (abfd, offset, SEEK_SET) != 0
+ 	  || (shstrtab = (bfd_byte *) bfd_alloc (abfd, shstrtabsize + 1)) == NULL)
+ 	shstrtab = NULL;
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -1,3 +1,11 @@
++2018-05-08  Nick Clifton  <nickc@redhat.com>
++
++       PR 22809
++       * elf.c (bfd_elf_get_str_section): Check for an excessively large
++       string section.
++       * elf-attrs.c (_bfd_elf_parse_attributes): Issue an error if the
++       attribute section is larger than the size of the file.
++
+ 2018-02-07  Alan Modra  <amodra@gmail.com>
+ 
+ 	Revert 2018-01-17  Alan Modra  <amodra@gmail.com>
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [SUMO][PATCH 02/12] binutls: Security fix CVE-2018-7643
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
@ 2018-08-06 14:29 ` Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 03/12] binutls: Security fix CVE-2018-6872 Armin Kuster
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |   1 +
 .../binutils/binutils/CVE-2018-7643.patch          | 102 +++++++++++++++++++++
 2 files changed, 103 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-7643.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index 349fa5a..1952d46 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -36,6 +36,7 @@ SRC_URI = "\
      file://0014-Detect-64-bit-MIPS-targets.patch \
      file://0015-sync-with-OE-libtool-changes.patch \
      file://CVE-2018-8945.patch \
+     file://CVE-2018-7643.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-7643.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-7643.patch
new file mode 100644
index 0000000..2a2dec3
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-7643.patch
@@ -0,0 +1,102 @@
+From d11ae95ea3403559f052903ab053f43ad7821e37 Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Thu, 1 Mar 2018 16:14:08 +0000
+Subject: [PATCH] Prevent illegal memory accesses triggerd by intger overflow
+ when parsing corrupt DWARF information on a 32-bit host.
+
+	PR 22905
+	* dwarf.c (display_debug_ranges): Check that the offset loaded
+	from the range_entry structure is valid.
+
+Upstream-Status: Backport
+Affects: Binutils <= 2.30
+CVE: CVE-2018-7643
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ binutils/ChangeLog |  6 ++++++
+ binutils/dwarf.c   | 15 +++++++++++++++
+ 2 files changed, 21 insertions(+)
+
+Index: git/binutils/dwarf.c
+===================================================================
+--- git.orig/binutils/dwarf.c
++++ git/binutils/dwarf.c
+@@ -387,6 +387,9 @@ read_uleb128 (unsigned char * data,
+     }								\
+   while (0)
+ 
++/* Read AMOUNT bytes from PTR and store them in VAL as an unsigned value.
++   Checks to make sure that the read will not reach or pass END
++   and that VAL is big enough to hold AMOUNT bytes.  */
+ #define SAFE_BYTE_GET(VAL, PTR, AMOUNT, END)	\
+   do						\
+     {						\
+@@ -415,6 +418,7 @@ read_uleb128 (unsigned char * data,
+     }						\
+   while (0)
+ 
++/* Like SAFE_BYTE_GET, but also increments PTR by AMOUNT.  */
+ #define SAFE_BYTE_GET_AND_INC(VAL, PTR, AMOUNT, END)	\
+   do							\
+     {							\
+@@ -423,6 +427,7 @@ read_uleb128 (unsigned char * data,
+     }							\
+   while (0)
+ 
++/* Like SAFE_BYTE_GET, but reads a signed value.  */
+ #define SAFE_SIGNED_BYTE_GET(VAL, PTR, AMOUNT, END)	\
+   do							\
+     {							\
+@@ -441,6 +446,7 @@ read_uleb128 (unsigned char * data,
+     }							\
+   while (0)
+ 
++/* Like SAFE_SIGNED_BYTE_GET, but also increments PTR by AMOUNT.  */
+ #define SAFE_SIGNED_BYTE_GET_AND_INC(VAL, PTR, AMOUNT, END)	\
+   do								\
+     {								\
+@@ -6543,6 +6549,7 @@ display_debug_ranges_list (unsigned char
+ 	break;
+       SAFE_SIGNED_BYTE_GET_AND_INC (end, start, pointer_size, finish);
+ 
++      
+       printf ("    %8.8lx ", offset);
+ 
+       if (begin == 0 && end == 0)
+@@ -6810,6 +6817,13 @@ display_debug_ranges (struct dwarf_secti
+ 	  continue;
+ 	}
+ 
++      if (next < section_begin || next >= finish)
++	{
++	  warn (_("Corrupt offset (%#8.8lx) in range entry %u\n"),
++		(unsigned long) offset, i);
++	  continue;
++	}
++
+       if (dwarf_check != 0 && i > 0)
+ 	{
+ 	  if (start < next)
+@@ -6825,6 +6839,7 @@ display_debug_ranges (struct dwarf_secti
+ 		    (unsigned long) (next - section_begin), section->name);
+ 	    }
+ 	}
++
+       start = next;
+       last_start = next;
+ 
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -1,3 +1,9 @@
++2018-03-01  Nick Clifton  <nickc@redhat.com>
++
++       PR 22905
++       * dwarf.c (display_debug_ranges): Check that the offset loaded
++       from the range_entry structure is valid.
++
+ 2018-05-08  Nick Clifton  <nickc@redhat.com>
+ 
+        PR 22809
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [SUMO][PATCH 03/12] binutls: Security fix CVE-2018-6872
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 02/12] binutls: Security fix CVE-2018-7643 Armin Kuster
@ 2018-08-06 14:29 ` Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 04/12] binutls: Security fix CVE-2018-6759 Armin Kuster
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |  1 +
 .../binutils/binutils/CVE-2018-6872.patch          | 50 ++++++++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-6872.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index 1952d46..23625d1 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -37,6 +37,7 @@ SRC_URI = "\
      file://0015-sync-with-OE-libtool-changes.patch \
      file://CVE-2018-8945.patch \
      file://CVE-2018-7643.patch \
+     file://CVE-2018-6872.patch \ 
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-6872.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-6872.patch
new file mode 100644
index 0000000..2ef36c2
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-6872.patch
@@ -0,0 +1,50 @@
+From d895ef77ffc94e02e748856c2ab54f5bb8cc867e Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Fri, 9 Feb 2018 09:28:45 +0000
+Subject: [PATCH] Import patch from mainline to fix possible seg-fault whilst
+ parsing corrupt ELF notes with extravagent alignments.
+
+	PR 22788
+	* elf.c (elf_parse_notes): Reject notes with excessuively large
+	alignments.
+
+Upstream-Status: Backport
+Affects: Binutils <= 2.30
+CVE: CVE-2018-6872
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ bfd/ChangeLog | 9 +++++++++
+ bfd/elf.c     | 2 ++
+ 2 files changed, 11 insertions(+)
+
+Index: git/bfd/elf.c
+===================================================================
+--- git.orig/bfd/elf.c
++++ git/bfd/elf.c
+@@ -11020,6 +11020,8 @@ elf_parse_notes (bfd *abfd, char *buf, s
+      align is less than 4, we use 4 byte alignment.   */
+   if (align < 4)
+     align = 4;
++  if (align != 4 && align != 8)
++    return FALSE;
+ 
+   p = buf;
+   while (p < buf + size)
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -1,3 +1,12 @@
++2018-02-09  Nick Clifton  <nickc@redhat.com>
++
++       Import patch from mainline:
++       2018-02-08  Nick Clifton  <nickc@redhat.com>
++
++       PR 22788
++       * elf.c (elf_parse_notes): Reject notes with excessuively large
++       alignments.
++
+ 2018-03-01  Nick Clifton  <nickc@redhat.com>
+ 
+        PR 22905
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [SUMO][PATCH 04/12] binutls: Security fix CVE-2018-6759
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 02/12] binutls: Security fix CVE-2018-7643 Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 03/12] binutls: Security fix CVE-2018-6872 Armin Kuster
@ 2018-08-06 14:29 ` Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 05/12] binutls: Security fix CVE-2018-7642 Armin Kuster
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |   1 +
 .../binutils/binutils/CVE-2018-6759.patch          | 108 +++++++++++++++++++++
 2 files changed, 109 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-6759.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index 23625d1..1621e5b 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -38,6 +38,7 @@ SRC_URI = "\
      file://CVE-2018-8945.patch \
      file://CVE-2018-7643.patch \
      file://CVE-2018-6872.patch \ 
+     file://CVE-2018-6759.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-6759.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-6759.patch
new file mode 100644
index 0000000..fff4979
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-6759.patch
@@ -0,0 +1,108 @@
+From 64e234d417d5685a4aec0edc618114d9991c031b Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Tue, 6 Feb 2018 15:48:29 +0000
+Subject: [PATCH] Prevent attempts to call strncpy with a zero-length field by
+ chacking the size of debuglink sections.
+
+	PR 22794
+	* opncls.c (bfd_get_debug_link_info_1): Check the size of the
+	section before attempting to read it in.
+	(bfd_get_alt_debug_link_info): Likewise.
+
+Upstream-Status: Backport
+Affects: Binutils <= 2.30
+CVE: CVE-2018-6759
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ bfd/ChangeLog |  7 +++++++
+ bfd/opncls.c  | 22 +++++++++++++++++-----
+ 2 files changed, 24 insertions(+), 5 deletions(-)
+
+Index: git/bfd/opncls.c
+===================================================================
+--- git.orig/bfd/opncls.c
++++ git/bfd/opncls.c
+@@ -1179,6 +1179,7 @@ bfd_get_debug_link_info_1 (bfd *abfd, vo
+   bfd_byte *contents;
+   unsigned int crc_offset;
+   char *name;
++  bfd_size_type size;
+ 
+   BFD_ASSERT (abfd);
+   BFD_ASSERT (crc32_out);
+@@ -1188,6 +1189,12 @@ bfd_get_debug_link_info_1 (bfd *abfd, vo
+   if (sect == NULL)
+     return NULL;
+ 
++  size = bfd_get_section_size (sect);
++
++  /* PR 22794: Make sure that the section has a reasonable size.  */
++  if (size < 8 || size >= bfd_get_size (abfd))
++    return NULL;
++
+   if (!bfd_malloc_and_get_section (abfd, sect, &contents))
+     {
+       if (contents != NULL)
+@@ -1197,10 +1204,10 @@ bfd_get_debug_link_info_1 (bfd *abfd, vo
+ 
+   /* CRC value is stored after the filename, aligned up to 4 bytes.  */
+   name = (char *) contents;
+-  /* PR 17597: avoid reading off the end of the buffer.  */
+-  crc_offset = strnlen (name, bfd_get_section_size (sect)) + 1;
++  /* PR 17597: Avoid reading off the end of the buffer.  */
++  crc_offset = strnlen (name, size) + 1;
+   crc_offset = (crc_offset + 3) & ~3;
+-  if (crc_offset + 4 > bfd_get_section_size (sect))
++  if (crc_offset + 4 > size)
+     return NULL;
+ 
+   *crc32 = bfd_get_32 (abfd, contents + crc_offset);
+@@ -1261,6 +1268,7 @@ bfd_get_alt_debug_link_info (bfd * abfd,
+   bfd_byte *contents;
+   unsigned int buildid_offset;
+   char *name;
++  bfd_size_type size;
+ 
+   BFD_ASSERT (abfd);
+   BFD_ASSERT (buildid_len);
+@@ -1271,6 +1279,10 @@ bfd_get_alt_debug_link_info (bfd * abfd,
+   if (sect == NULL)
+     return NULL;
+ 
++  size = bfd_get_section_size (sect);
++  if (size < 8 || size >= bfd_get_size (abfd))
++    return NULL;
++
+   if (!bfd_malloc_and_get_section (abfd, sect, & contents))
+     {
+       if (contents != NULL)
+@@ -1280,11 +1292,11 @@ bfd_get_alt_debug_link_info (bfd * abfd,
+ 
+   /* BuildID value is stored after the filename.  */
+   name = (char *) contents;
+-  buildid_offset = strnlen (name, bfd_get_section_size (sect)) + 1;
++  buildid_offset = strnlen (name, size) + 1;
+   if (buildid_offset >= bfd_get_section_size (sect))
+     return NULL;
+ 
+-  *buildid_len = bfd_get_section_size (sect) - buildid_offset;
++  *buildid_len = size - buildid_offset;
+   *buildid_out = bfd_malloc (*buildid_len);
+   memcpy (*buildid_out, contents + buildid_offset, *buildid_len);
+ 
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -1,3 +1,10 @@
++2018-02-06  Nick Clifton  <nickc@redhat.com>
++
++       PR 22794
++       * opncls.c (bfd_get_debug_link_info_1): Check the size of the
++       section before attempting to read it in.
++       (bfd_get_alt_debug_link_info): Likewise.
++
+ 2018-02-09  Nick Clifton  <nickc@redhat.com>
+ 
+        Import patch from mainline:
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [SUMO][PATCH 05/12] binutls: Security fix CVE-2018-7642
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
                   ` (2 preceding siblings ...)
  2018-08-06 14:29 ` [SUMO][PATCH 04/12] binutls: Security fix CVE-2018-6759 Armin Kuster
@ 2018-08-06 14:29 ` Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 06/12] binutls: Security fix CVE-2018-7208 Armin Kuster
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |  1 +
 .../binutils/binutils/CVE-2018-7642.patch          | 51 ++++++++++++++++++++++
 2 files changed, 52 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-7642.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index 1621e5b..6b915fa 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -39,6 +39,7 @@ SRC_URI = "\
      file://CVE-2018-7643.patch \
      file://CVE-2018-6872.patch \ 
      file://CVE-2018-6759.patch \
+     file://CVE-2018-7642.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-7642.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-7642.patch
new file mode 100644
index 0000000..9def46c
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-7642.patch
@@ -0,0 +1,51 @@
+From 116acb2c268c89c89186673a7c92620d21825b25 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Wed, 28 Feb 2018 22:09:50 +1030
+Subject: [PATCH] PR22887, null pointer dereference in
+ aout_32_swap_std_reloc_out
+
+	PR 22887
+	* aoutx.h (swap_std_reloc_in): Correct r_index bound check.
+
+Upstream-Status: Backport
+Affects: Binutils <= 2.30
+CVE: CVE-2018-7642
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ bfd/ChangeLog | 5 +++++
+ bfd/aoutx.h   | 6 ++++--
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+Index: git/bfd/aoutx.h
+===================================================================
+--- git.orig/bfd/aoutx.h
++++ git/bfd/aoutx.h
+@@ -2284,10 +2284,12 @@ NAME (aout, swap_std_reloc_in) (bfd *abf
+   if (r_baserel)
+     r_extern = 1;
+ 
+-  if (r_extern && r_index > symcount)
++  if (r_extern && r_index >= symcount)
+     {
+       /* We could arrange to return an error, but it might be useful
+-	 to see the file even if it is bad.  */
++	 to see the file even if it is bad.  FIXME: Of course this
++	 means that objdump -r *doesn't* see the actual reloc, and
++	 objcopy silently writes a different reloc.  */
+       r_extern = 0;
+       r_index = N_ABS;
+     }
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -1,3 +1,8 @@
++2018-02-28  Alan Modra  <amodra@gmail.com>
++
++       PR 22887
++       * aoutx.h (swap_std_reloc_in): Correct r_index bound check.
++
+ 2018-02-06  Nick Clifton  <nickc@redhat.com>
+ 
+        PR 22794
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [SUMO][PATCH 06/12] binutls: Security fix CVE-2018-7208
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
                   ` (3 preceding siblings ...)
  2018-08-06 14:29 ` [SUMO][PATCH 05/12] binutls: Security fix CVE-2018-7642 Armin Kuster
@ 2018-08-06 14:29 ` Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 07/12] binutls: Security fix CVE-2018-7569 Armin Kuster
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |  1 +
 .../binutils/binutils/CVE-2018-7208.patch          | 47 ++++++++++++++++++++++
 2 files changed, 48 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-7208.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index 6b915fa..3a39d5f 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -40,6 +40,7 @@ SRC_URI = "\
      file://CVE-2018-6872.patch \ 
      file://CVE-2018-6759.patch \
      file://CVE-2018-7642.patch \
+     file://CVE-2018-7208.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-7208.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-7208.patch
new file mode 100644
index 0000000..8efefeb
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-7208.patch
@@ -0,0 +1,47 @@
+From eb77f6a4621795367a39cdd30957903af9dbb815 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Sat, 27 Jan 2018 08:19:33 +1030
+Subject: [PATCH] PR22741, objcopy segfault on fuzzed COFF object
+
+	PR 22741
+	* coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
+	range before converting to a symbol table pointer.
+
+Upstream-Status: Backport
+Affects: Binutils <= 2.30
+CVE:  CVE-2018-7208
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ bfd/ChangeLog | 6 ++++++
+ bfd/coffgen.c | 3 ++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+Index: git/bfd/coffgen.c
+===================================================================
+--- git.orig/bfd/coffgen.c
++++ git/bfd/coffgen.c
+@@ -1555,7 +1555,8 @@ coff_pointerize_aux (bfd *abfd,
+     }
+   /* A negative tagndx is meaningless, but the SCO 3.2v4 cc can
+      generate one, so we must be careful to ignore it.  */
+-  if (auxent->u.auxent.x_sym.x_tagndx.l > 0)
++  if ((unsigned long) auxent->u.auxent.x_sym.x_tagndx.l
++      < obj_raw_syment_count (abfd))
+     {
+       auxent->u.auxent.x_sym.x_tagndx.p =
+ 	table_base + auxent->u.auxent.x_sym.x_tagndx.l;
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -1,3 +1,9 @@
++2018-01-29  Alan Modra  <amodra@gmail.com>
++
++       PR 22741
++       * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
++       range before converting to a symbol table pointer.
++
+ 2018-02-28  Alan Modra  <amodra@gmail.com>
+ 
+        PR 22887
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [SUMO][PATCH 07/12] binutls: Security fix CVE-2018-7569
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
                   ` (4 preceding siblings ...)
  2018-08-06 14:29 ` [SUMO][PATCH 06/12] binutls: Security fix CVE-2018-7208 Armin Kuster
@ 2018-08-06 14:29 ` Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 08/12] binutls: Security fix CVE-2018-7568 Armin Kuster
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |   1 +
 .../binutils/binutils/CVE-2018-7569.patch          | 119 +++++++++++++++++++++
 2 files changed, 120 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-7569.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index 3a39d5f..32eb44e 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -41,6 +41,7 @@ SRC_URI = "\
      file://CVE-2018-6759.patch \
      file://CVE-2018-7642.patch \
      file://CVE-2018-7208.patch \
+     file://CVE-2018-7569.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-7569.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-7569.patch
new file mode 100644
index 0000000..96c0fd2
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-7569.patch
@@ -0,0 +1,119 @@
+From 12c963421d045a127c413a0722062b9932c50aa9 Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Wed, 28 Feb 2018 11:50:49 +0000
+Subject: [PATCH] Catch integer overflows/underflows when parsing corrupt DWARF
+ FORM blocks.
+
+	PR 22895
+	PR 22893
+	* dwarf2.c (read_n_bytes): Replace size parameter with dwarf_block
+	pointer.  Drop unused abfd parameter.  Check the size of the block
+	before initialising the data field.  Return the end pointer if the
+	size is invalid.
+	(read_attribute_value): Adjust invocations of read_n_bytes.
+
+Upstream-Status: Backport
+Affects: Binutils <= 2.30
+CVE: CVE-2018-7569
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+---
+ bfd/ChangeLog |  8 ++++++++
+ bfd/dwarf2.c  | 36 +++++++++++++++++++++---------------
+ 2 files changed, 29 insertions(+), 15 deletions(-)
+
+Index: git/bfd/dwarf2.c
+===================================================================
+--- git.orig/bfd/dwarf2.c
++++ git/bfd/dwarf2.c
+@@ -622,14 +622,24 @@ read_8_bytes (bfd *abfd, bfd_byte *buf,
+ }
+ 
+ static bfd_byte *
+-read_n_bytes (bfd *abfd ATTRIBUTE_UNUSED,
+-	      bfd_byte *buf,
+-	      bfd_byte *end,
+-	      unsigned int size ATTRIBUTE_UNUSED)
+-{
+-  if (buf + size > end)
+-    return NULL;
+-  return buf;
++read_n_bytes (bfd_byte *           buf,
++	      bfd_byte *           end,
++	      struct dwarf_block * block)
++{
++  unsigned int  size = block->size;
++  bfd_byte *    block_end = buf + size;
++
++  if (block_end > end || block_end < buf)
++    {
++      block->data = NULL;
++      block->size = 0;
++      return end;
++    }
++  else
++    {
++      block->data = buf;
++      return block_end;
++    }
+ }
+ 
+ /* Scans a NUL terminated string starting at BUF, returning a pointer to it.
+@@ -1127,8 +1137,7 @@ read_attribute_value (struct attribute *
+ 	return NULL;
+       blk->size = read_2_bytes (abfd, info_ptr, info_ptr_end);
+       info_ptr += 2;
+-      blk->data = read_n_bytes (abfd, info_ptr, info_ptr_end, blk->size);
+-      info_ptr += blk->size;
++      info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk);
+       attr->u.blk = blk;
+       break;
+     case DW_FORM_block4:
+@@ -1138,8 +1147,7 @@ read_attribute_value (struct attribute *
+ 	return NULL;
+       blk->size = read_4_bytes (abfd, info_ptr, info_ptr_end);
+       info_ptr += 4;
+-      blk->data = read_n_bytes (abfd, info_ptr, info_ptr_end, blk->size);
+-      info_ptr += blk->size;
++      info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk);
+       attr->u.blk = blk;
+       break;
+     case DW_FORM_data2:
+@@ -1179,8 +1187,7 @@ read_attribute_value (struct attribute *
+       blk->size = _bfd_safe_read_leb128 (abfd, info_ptr, &bytes_read,
+ 					 FALSE, info_ptr_end);
+       info_ptr += bytes_read;
+-      blk->data = read_n_bytes (abfd, info_ptr, info_ptr_end, blk->size);
+-      info_ptr += blk->size;
++      info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk);
+       attr->u.blk = blk;
+       break;
+     case DW_FORM_block1:
+@@ -1190,8 +1197,7 @@ read_attribute_value (struct attribute *
+ 	return NULL;
+       blk->size = read_1_byte (abfd, info_ptr, info_ptr_end);
+       info_ptr += 1;
+-      blk->data = read_n_bytes (abfd, info_ptr, info_ptr_end, blk->size);
+-      info_ptr += blk->size;
++      info_ptr = read_n_bytes (info_ptr, info_ptr_end, blk);
+       attr->u.blk = blk;
+       break;
+     case DW_FORM_data1:
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -6,6 +6,14 @@
+ 
+ 2018-02-28  Alan Modra  <amodra@gmail.com>
+ 
++       PR 22895
++       PR 22893
++       * dwarf2.c (read_n_bytes): Replace size parameter with dwarf_block
++       pointer.  Drop unused abfd parameter.  Check the size of the block
++       before initialising the data field.  Return the end pointer if the
++       size is invalid.
++       (read_attribute_value): Adjust invocations of read_n_bytes.
++
+        PR 22887
+        * aoutx.h (swap_std_reloc_in): Correct r_index bound check.
+ 
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [SUMO][PATCH 08/12] binutls: Security fix CVE-2018-7568
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
                   ` (5 preceding siblings ...)
  2018-08-06 14:29 ` [SUMO][PATCH 07/12] binutls: Security fix CVE-2018-7569 Armin Kuster
@ 2018-08-06 14:29 ` Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 09/12] binutls: Security fix CVE-2018-10373 Armin Kuster
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |  1 +
 .../binutils/binutils/CVE-2018-7568.patch          | 85 ++++++++++++++++++++++
 2 files changed, 86 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-7568.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index 32eb44e..8995715 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -42,6 +42,7 @@ SRC_URI = "\
      file://CVE-2018-7642.patch \
      file://CVE-2018-7208.patch \
      file://CVE-2018-7569.patch \
+     file://CVE-2018-7568.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-7568.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-7568.patch
new file mode 100644
index 0000000..815b32c
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-7568.patch
@@ -0,0 +1,85 @@
+From eef104664efb52965d85a28bc3fc7c77e52e48e2 Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Wed, 28 Feb 2018 10:13:54 +0000
+Subject: [PATCH] Fix potential integer overflow when reading corrupt dwarf1
+ debug information.
+
+	PR 22894
+	* dwarf1.c (parse_die): Check the length of form blocks before
+	advancing the data pointer.
+
+Upstream-Status: Backport
+Affects: Binutils <= 2.30
+CVE: CVE-2018-7568
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ bfd/ChangeLog |  6 ++++++
+ bfd/dwarf1.c  | 17 +++++++++++++++--
+ 2 files changed, 21 insertions(+), 2 deletions(-)
+
+Index: git/bfd/dwarf1.c
+===================================================================
+--- git.orig/bfd/dwarf1.c
++++ git/bfd/dwarf1.c
+@@ -213,6 +213,7 @@ parse_die (bfd *	     abfd,
+   /* Then the attributes.  */
+   while (xptr + 2 <= aDiePtrEnd)
+     {
++      unsigned int   block_len;
+       unsigned short attr;
+ 
+       /* Parse the attribute based on its form.  This section
+@@ -255,12 +256,24 @@ parse_die (bfd *	     abfd,
+ 	  break;
+ 	case FORM_BLOCK2:
+ 	  if (xptr + 2 <= aDiePtrEnd)
+-	    xptr += bfd_get_16 (abfd, xptr);
++	    {
++	      block_len = bfd_get_16 (abfd, xptr);
++	      if (xptr + block_len > aDiePtrEnd
++		  || xptr + block_len < xptr)
++		return FALSE;
++	      xptr += block_len;
++	    }
+ 	  xptr += 2;
+ 	  break;
+ 	case FORM_BLOCK4:
+ 	  if (xptr + 4 <= aDiePtrEnd)
+-	    xptr += bfd_get_32 (abfd, xptr);
++	    {
++	      block_len = bfd_get_32 (abfd, xptr);
++	      if (xptr + block_len > aDiePtrEnd
++		  || xptr + block_len < xptr)
++		return FALSE;
++	      xptr += block_len;
++	    }
+ 	  xptr += 4;
+ 	  break;
+ 	case FORM_STRING:
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -4,7 +4,11 @@
+        * coffgen.c (coff_pointerize_aux): Ensure auxent tagndx is in
+        range before converting to a symbol table pointer.
+ 
+-2018-02-28  Alan Modra  <amodra@gmail.com>
++2018-02-28  Nick Clifton  <nickc@redhat.com>
++
++       PR 22894
++       * dwarf1.c (parse_die): Check the length of form blocks before
++       advancing the data pointer.
+ 
+        PR 22895
+        PR 22893
+@@ -14,6 +18,8 @@
+        size is invalid.
+        (read_attribute_value): Adjust invocations of read_n_bytes.
+ 
++2018-02-28  Alan Modra  <amodra@gmail.com>
++
+        PR 22887
+        * aoutx.h (swap_std_reloc_in): Correct r_index bound check.
+ 
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [SUMO][PATCH 09/12] binutls: Security fix CVE-2018-10373
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
                   ` (6 preceding siblings ...)
  2018-08-06 14:29 ` [SUMO][PATCH 08/12] binutls: Security fix CVE-2018-7568 Armin Kuster
@ 2018-08-06 14:29 ` Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 10/12] binutls: Security fix CVE-2018-10372 Armin Kuster
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |  1 +
 .../binutils/binutils/CVE-2018-10373.patch         | 45 ++++++++++++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-10373.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index 8995715..7b1705e 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -43,6 +43,7 @@ SRC_URI = "\
      file://CVE-2018-7208.patch \
      file://CVE-2018-7569.patch \
      file://CVE-2018-7568.patch \
+     file://CVE-2018-10373.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-10373.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-10373.patch
new file mode 100644
index 0000000..d547cf1
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-10373.patch
@@ -0,0 +1,45 @@
+From 6327533b1fd29fa86f6bf34e61c332c010e3c689 Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Tue, 17 Apr 2018 14:30:07 +0100
+Subject: [PATCH] Add a check for a NULL table pointer before attempting to
+ compute a DWARF filename.
+
+	PR 23065
+	* dwarf2.c (concat_filename): Check for a NULL table pointer.
+
+Upstream-Status: Backport
+Affects: Binutils <= 2.30
+CVE: CVE-2018-10373
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ bfd/ChangeLog | 5 +++++
+ bfd/dwarf2.c  | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+Index: git/bfd/dwarf2.c
+===================================================================
+--- git.orig/bfd/dwarf2.c
++++ git/bfd/dwarf2.c
+@@ -1565,7 +1565,7 @@ concat_filename (struct line_info_table
+ {
+   char *filename;
+ 
+-  if (file - 1 >= table->num_files)
++  if (table == NULL || file - 1 >= table->num_files)
+     {
+       /* FILE == 0 means unknown.  */
+       if (file)
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -1,3 +1,8 @@
++2018-04-17  Nick Clifton  <nickc@redhat.com>
++
++       PR 23065
++       * dwarf2.c (concat_filename): Check for a NULL table pointer.
++
+ 2018-01-29  Alan Modra  <amodra@gmail.com>
+ 
+        PR 22741
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [SUMO][PATCH 10/12] binutls: Security fix CVE-2018-10372
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
                   ` (7 preceding siblings ...)
  2018-08-06 14:29 ` [SUMO][PATCH 09/12] binutls: Security fix CVE-2018-10373 Armin Kuster
@ 2018-08-06 14:29 ` Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 11/12] binutls: Security fix CVE-2018-10535 Armin Kuster
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |  1 +
 .../binutils/binutils/CVE-2018-10372.patch         | 58 ++++++++++++++++++++++
 2 files changed, 59 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-10372.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index 7b1705e..8693757 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -44,6 +44,7 @@ SRC_URI = "\
      file://CVE-2018-7569.patch \
      file://CVE-2018-7568.patch \
      file://CVE-2018-10373.patch \
+     file://CVE-2018-10372.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-10372.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-10372.patch
new file mode 100644
index 0000000..053e9d8
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-10372.patch
@@ -0,0 +1,58 @@
+From 6aea08d9f3e3d6475a65454da488a0c51f5dc97d Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Tue, 17 Apr 2018 12:35:55 +0100
+Subject: [PATCH] Fix illegal memory access when parsing corrupt DWARF
+ information.
+
+	PR 23064
+	* dwarf.c (process_cu_tu_index): Test for a potential buffer
+	overrun before copying signature pointer.
+
+Upstream-Status: Backport
+Affects: Binutils <= 2.30
+CVE: CVE-2018-10372
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ binutils/ChangeLog |  6 ++++++
+ binutils/dwarf.c   | 13 ++++++++++++-
+ 2 files changed, 18 insertions(+), 1 deletion(-)
+
+Index: git/binutils/dwarf.c
+===================================================================
+--- git.orig/binutils/dwarf.c
++++ git/binutils/dwarf.c
+@@ -9252,7 +9252,18 @@ process_cu_tu_index (struct dwarf_sectio
+ 		}
+ 
+ 	      if (!do_display)
+-		memcpy (&this_set[row - 1].signature, ph, sizeof (uint64_t));
++		{
++		  size_t num_copy = sizeof (uint64_t);
++
++		  /* PR 23064: Beware of buffer overflow.  */
++		  if (ph + num_copy < limit)
++		    memcpy (&this_set[row - 1].signature, ph, num_copy);
++		  else
++		    {
++		      warn (_("Signature (%p) extends beyond end of space in section\n"), ph);
++		      return 0;
++		    }
++		}
+ 
+ 	      prow = poffsets + (row - 1) * ncols * 4;
+ 	      /* PR 17531: file: b8ce60a8.  */
+Index: git/binutils/ChangeLog
+===================================================================
+--- git.orig/binutils/ChangeLog
++++ git/binutils/ChangeLog
+@@ -1,3 +1,9 @@
++2018-04-17  Nick Clifton  <nickc@redhat.com>
++
++       PR 23064
++       * dwarf.c (process_cu_tu_index): Test for a potential buffer
++       overrun before copying signature pointer.
++
+ 2018-01-27  Nick Clifton  <nickc@redhat.com>
+ 
+ 	Back to development.
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [SUMO][PATCH 11/12] binutls: Security fix CVE-2018-10535
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
                   ` (8 preceding siblings ...)
  2018-08-06 14:29 ` [SUMO][PATCH 10/12] binutls: Security fix CVE-2018-10372 Armin Kuster
@ 2018-08-06 14:29 ` Armin Kuster
  2018-08-06 14:29 ` [SUMO][PATCH 12/12] binutls: Security fix CVE-2018-10534 Armin Kuster
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |  1 +
 .../binutils/binutils/CVE-2018-10535.patch         | 61 ++++++++++++++++++++++
 2 files changed, 62 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-10535.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index 8693757..f8ac1ca 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -45,6 +45,7 @@ SRC_URI = "\
      file://CVE-2018-7568.patch \
      file://CVE-2018-10373.patch \
      file://CVE-2018-10372.patch \
+     file://CVE-2018-10535.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-10535.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-10535.patch
new file mode 100644
index 0000000..fa8fbd2
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-10535.patch
@@ -0,0 +1,61 @@
+From db0c309f4011ca94a4abc8458e27f3734dab92ac Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Tue, 24 Apr 2018 16:57:04 +0100
+Subject: [PATCH] Fix an illegal memory access when trying to copy an ELF
+ binary with corrupt section symbols.
+
+	PR 23113
+	* elf.c (ignore_section_sym): Check for the output_section pointer
+	being NULL before dereferencing it.
+
+Upstream-Status: Backport
+CVE: CVE-2018-10535
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ bfd/ChangeLog | 4 ++++
+ bfd/elf.c     | 9 ++++++++-
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+Index: git/bfd/elf.c
+===================================================================
+--- git.orig/bfd/elf.c
++++ git/bfd/elf.c
+@@ -4021,15 +4021,22 @@ ignore_section_sym (bfd *abfd, asymbol *
+ {
+   elf_symbol_type *type_ptr;
+ 
++  if (sym == NULL)
++    return FALSE;
++
+   if ((sym->flags & BSF_SECTION_SYM) == 0)
+     return FALSE;
+ 
++  if (sym->section == NULL)
++    return TRUE;
++
+   type_ptr = elf_symbol_from (abfd, sym);
+   return ((type_ptr != NULL
+ 	   && type_ptr->internal_elf_sym.st_shndx != 0
+ 	   && bfd_is_abs_section (sym->section))
+ 	  || !(sym->section->owner == abfd
+-	       || (sym->section->output_section->owner == abfd
++	       || (sym->section->output_section != NULL
++		   && sym->section->output_section->owner == abfd
+ 		   && sym->section->output_offset == 0)
+ 	       || bfd_is_abs_section (sym->section)));
+ }
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -1,3 +1,9 @@
++2018-04-24  Nick Clifton  <nickc@redhat.com>
++
++       PR 23113
++       * elf.c (ignore_section_sym): Check for the output_section pointer
++       being NULL before dereferencing it.
++
+ 2018-04-17  Nick Clifton  <nickc@redhat.com>
+ 
+        PR 23065
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [SUMO][PATCH 12/12] binutls: Security fix CVE-2018-10534
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
                   ` (9 preceding siblings ...)
  2018-08-06 14:29 ` [SUMO][PATCH 11/12] binutls: Security fix CVE-2018-10535 Armin Kuster
@ 2018-08-06 14:29 ` Armin Kuster
  2018-08-06 15:06 ` ✗ patchtest: failure for "[SUMO] binutils: Security fix ..." and 11 more Patchwork
  2018-08-06 17:27 ` [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Khem Raj
  12 siblings, 0 replies; 14+ messages in thread
From: Armin Kuster @ 2018-08-06 14:29 UTC (permalink / raw)
  To: akuster, openembedded-core

From: Armin Kuster <akuster@mvista.com>

Affects <= 2.30

Signed-off-by: Armin Kuster <akuster@mvista.com>
---
 meta/recipes-devtools/binutils/binutils-2.30.inc   |    1 +
 .../binutils/binutils/CVE-2018-10534.patch         | 3429 ++++++++++++++++++++
 2 files changed, 3430 insertions(+)
 create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-10534.patch

diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
index f8ac1ca..37243db 100644
--- a/meta/recipes-devtools/binutils/binutils-2.30.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
@@ -46,6 +46,7 @@ SRC_URI = "\
      file://CVE-2018-10373.patch \
      file://CVE-2018-10372.patch \
      file://CVE-2018-10535.patch \
+     file://CVE-2018-10534.patch \
 "
 S  = "${WORKDIR}/git"
 
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-10534.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-10534.patch
new file mode 100644
index 0000000..6847020
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-10534.patch
@@ -0,0 +1,3429 @@
+From aa4a8c2a2a67545e90c877162c53cc9de42dc8b4 Mon Sep 17 00:00:00 2001
+From: Nick Clifton <nickc@redhat.com>
+Date: Tue, 24 Apr 2018 16:31:27 +0100
+Subject: [PATCH] Fix an illegal memory access when copying a PE format file
+ with corrupt debug information.
+
+	PR 23110
+	* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Check for
+	a negative PE_DEBUG_DATA size before iterating over the debug data.
+
+Upstream-Status: Backport
+Affects: Binutils <= 2.30
+CVE: CVE-2018-10534
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ bfd/ChangeLog  |    6 +
+ bfd/peXXigen.c |    9 +
+ bfd/po/bfd.pot | 5631 ++++++++++++++++++++++++++------------------------------
+ 3 files changed, 2662 insertions(+), 2984 deletions(-)
+
+Index: git/bfd/peXXigen.c
+===================================================================
+--- git.orig/bfd/peXXigen.c
++++ git/bfd/peXXigen.c
+@@ -2991,6 +2991,15 @@ _bfd_XX_bfd_copy_private_bfd_data_common
+ 				  bfd_get_section_size (section) - (addr - section->vma));
+ 	      return FALSE;
+ 	    }
++	  /* PR 23110.  */
++	  else if (ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size < 0)
++	    {
++	      /* xgettext:c-format */
++	      _bfd_error_handler
++		(_("%pB: Data Directory size (%#lx) is negative"),
++		 obfd, ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size);
++	      return FALSE;
++	    }
+ 
+ 	  for (i = 0; i < ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size
+ 		 / sizeof (struct external_IMAGE_DEBUG_DIRECTORY); i++)
+Index: git/bfd/po/bfd.pot
+===================================================================
+--- git.orig/bfd/po/bfd.pot
++++ git/bfd/po/bfd.pot
+@@ -18,175 +18,214 @@ msgstr ""
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+ 
+-#: aout-adobe.c:126
+-#, c-format
+-msgid "%B: Unknown section type in a.out.adobe file: %x\n"
+-msgstr ""
+-
+ #: aout-cris.c:200
+ #, c-format
+-msgid "%B: Invalid relocation type exported: %d"
++msgid "%pB: unsupported relocation type exported: %#x"
+ msgstr ""
+ 
+ #: aout-cris.c:244
+ #, c-format
+-msgid "%B: Invalid relocation type imported: %d"
++msgid "%pB: unsupported relocation type imported: %#x"
+ msgstr ""
+ 
+ #: aout-cris.c:256
+ #, c-format
+-msgid "%B: Bad relocation record imported: %d"
++msgid "%pB: bad relocation record imported: %d"
+ msgstr ""
+ 
+-#: aoutx.h:1284 aoutx.h:1636 pdp11.c:1152 pdp11.c:1413
++#: aoutx.h:1264 aoutx.h:1617 pdp11.c:1138 pdp11.c:1399
+ #, c-format
+-msgid "%B: can not represent section `%A' in a.out object file format"
++msgid "%pB: can not represent section `%pA' in a.out object file format"
+ msgstr ""
+ 
+-#: aoutx.h:1600 pdp11.c:1385
++#: aoutx.h:1581 pdp11.c:1371
+ #, c-format
+ msgid ""
+-"%B: can not represent section for symbol `%s' in a.out object file format"
++"%pB: can not represent section for symbol `%s' in a.out object file format"
+ msgstr ""
+ 
+-#: aoutx.h:1603 vms-alpha.c:7853
++#: aoutx.h:1584 vms-alpha.c:7854
+ msgid "*unknown*"
+ msgstr ""
+ 
+-#: aoutx.h:2422 aoutx.h:2440
+-msgid "%B: attempt to write out unknown reloc type"
++#: aoutx.h:1720
++#, c-format
++msgid "%pB: invalid string offset %<PRIu64> >= %<PRIu64>"
+ msgstr ""
+ 
+-#: aoutx.h:4093 aoutx.h:4414
+-msgid "%P: %B: unexpected relocation type\n"
++#: aoutx.h:2411 aoutx.h:2429
++#, c-format
++msgid "%pB: attempt to write out unknown reloc type"
+ msgstr ""
+ 
+-#: aoutx.h:5440 pdp11.c:3708
++#: aoutx.h:4084
+ #, c-format
+-msgid "%B: relocatable link from %s to %s not supported"
++msgid "%pB: unsupported relocation type"
+ msgstr ""
+ 
+-#: archive.c:2305
+-msgid "Warning: writing archive was slow: rewriting timestamp\n"
++#. Unknown relocation.
++#: aoutx.h:4405 coff-alpha.c:601 coff-alpha.c:1514 coff-rs6000.c:2773
++#: coff-sh.c:504 coff-tic4x.c:184 coff-tic54x.c:279 elf-hppa.h:1040
++#: elf-hppa.h:1068 elf-m10200.c:226 elf-m10300.c:812 elf32-arc.c:519
++#: elf32-arm.c:1852 elf32-avr.c:959 elf32-bfin.c:1061 elf32-bfin.c:4698
++#: elf32-cr16.c:653 elf32-cr16.c:683 elf32-cr16c.c:186 elf32-cris.c:467
++#: elf32-crx.c:429 elf32-d10v.c:234 elf32-d30v.c:522 elf32-d30v.c:544
++#: elf32-dlx.c:548 elf32-epiphany.c:376 elf32-fr30.c:381 elf32-frv.c:2558
++#: elf32-frv.c:6262 elf32-ft32.c:306 elf32-h8300.c:302 elf32-i386.c:401
++#: elf32-ip2k.c:1245 elf32-iq2000.c:442 elf32-lm32.c:539 elf32-m32c.c:305
++#: elf32-m32r.c:1286 elf32-m32r.c:1311 elf32-m32r.c:2417 elf32-m68hc11.c:390
++#: elf32-m68hc12.c:510 elf32-m68k.c:352 elf32-mcore.c:354 elf32-mcore.c:440
++#: elf32-mep.c:389 elf32-metag.c:878 elf32-microblaze.c:692
++#: elf32-microblaze.c:969 elf32-mips.c:2229 elf32-moxie.c:137
++#: elf32-msp430.c:648 elf32-msp430.c:658 elf32-mt.c:241 elf32-nds32.c:2880
++#: elf32-nds32.c:2904 elf32-nds32.c:4423 elf32-nios2.c:3015 elf32-or1k.c:715
++#: elf32-pj.c:325 elf32-ppc.c:2061 elf32-ppc.c:2074 elf32-pru.c:420
++#: elf32-rl78.c:292 elf32-rx.c:314 elf32-rx.c:323 elf32-s390.c:347
++#: elf32-sh.c:438 elf32-spu.c:160 elf32-tic6x.c:1508 elf32-tic6x.c:1518
++#: elf32-tic6x.c:1537 elf32-tic6x.c:1547 elf32-tic6x.c:2642 elf32-tilepro.c:803
++#: elf32-v850.c:1899 elf32-v850.c:1921 elf32-v850.c:4270 elf32-vax.c:290
++#: elf32-visium.c:482 elf32-wasm32.c:106 elf32-xc16x.c:241 elf32-xgate.c:428
++#: elf32-xstormy16.c:395 elf32-xtensa.c:454 elf32-xtensa.c:488
++#: elf64-alpha.c:1112 elf64-alpha.c:4101 elf64-alpha.c:4249
++#: elf64-ia64-vms.c:254 elf64-ia64-vms.c:3440 elf64-mips.c:3623
++#: elf64-mips.c:3639 elf64-mmix.c:1264 elf64-ppc.c:2281 elf64-ppc.c:2555
++#: elf64-ppc.c:2564 elf64-s390.c:328 elf64-s390.c:378 elf64-x86-64.c:285
++#: elfn32-mips.c:3451 elfxx-ia64.c:325 elfxx-riscv.c:955 elfxx-sparc.c:589
++#: elfxx-sparc.c:639 elfxx-sparc.c:661 elfxx-tilegx.c:912 elfxx-tilegx.c:952
++#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2126
++#: /work/sources/binutils/current/bfd/elfnn-aarch64.c:2224 elf32-ia64.c:211
++#: elf32-ia64.c:3863 elf64-ia64.c:211 elf64-ia64.c:3863
++#, c-format
++msgid "%pB: unsupported relocation type %#x"
++msgstr ""
++
++#: aoutx.h:5432 pdp11.c:3694
++#, c-format
++msgid "%pB: relocatable link from %s to %s not supported"
++msgstr ""
++
++#: archive.c:2216
++msgid "warning: writing archive was slow: rewriting timestamp"
+ msgstr ""
+ 
+-#: archive.c:2421 linker.c:1410
+-msgid "%B: plugin needed to handle lto object"
++#: archive.c:2332 linker.c:1416
++#, c-format
++msgid "%pB: plugin needed to handle lto object"
+ msgstr ""
+ 
+-#: archive.c:2650
++#: archive.c:2561
+ msgid "Reading archive file mod timestamp"
+ msgstr ""
+ 
+-#: archive.c:2674
++#: archive.c:2585
+ msgid "Writing updated armap timestamp"
+ msgstr ""
+ 
++#: bfd.c:448
++msgid "no error"
++msgstr ""
++
++#: bfd.c:449
++msgid "system call error"
++msgstr ""
++
++#: bfd.c:450
++msgid "invalid bfd target"
++msgstr ""
++
++#: bfd.c:451
++msgid "file in wrong format"
++msgstr ""
++
++#: bfd.c:452
++msgid "archive object file in wrong format"
++msgstr ""
++
++#: bfd.c:453
++msgid "invalid operation"
++msgstr ""
++
+ #: bfd.c:454
+-msgid "No error"
++msgid "memory exhausted"
+ msgstr ""
+ 
+ #: bfd.c:455
+-msgid "System call error"
++msgid "no symbols"
+ msgstr ""
+ 
+ #: bfd.c:456
+-msgid "Invalid bfd target"
++msgid "archive has no index; run ranlib to add one"
+ msgstr ""
+ 
+ #: bfd.c:457
+-msgid "File in wrong format"
++msgid "no more archived files"
+ msgstr ""
+ 
+ #: bfd.c:458
+-msgid "Archive object file in wrong format"
++msgid "malformed archive"
+ msgstr ""
+ 
+ #: bfd.c:459
+-msgid "Invalid operation"
++msgid "DSO missing from command line"
+ msgstr ""
+ 
+ #: bfd.c:460
+-msgid "Memory exhausted"
++msgid "file format not recognized"
+ msgstr ""
+ 
+ #: bfd.c:461
+-msgid "No symbols"
++msgid "file format is ambiguous"
+ msgstr ""
+ 
+ #: bfd.c:462
+-msgid "Archive has no index; run ranlib to add one"
++msgid "section has no contents"
+ msgstr ""
+ 
+ #: bfd.c:463
+-msgid "No more archived files"
++msgid "nonrepresentable section on output"
+ msgstr ""
+ 
+ #: bfd.c:464
+-msgid "Malformed archive"
++msgid "symbol needs debug section which does not exist"
+ msgstr ""
+ 
+ #: bfd.c:465
+-msgid "DSO missing from command line"
++msgid "bad value"
+ msgstr ""
+ 
+ #: bfd.c:466
+-msgid "File format not recognized"
++msgid "file truncated"
+ msgstr ""
+ 
+ #: bfd.c:467
+-msgid "File format is ambiguous"
++msgid "file too big"
+ msgstr ""
+ 
+ #: bfd.c:468
+-msgid "Section has no contents"
+-msgstr ""
+-
+-#: bfd.c:469
+-msgid "Nonrepresentable section on output"
+-msgstr ""
+-
+-#: bfd.c:470
+-msgid "Symbol needs debug section which does not exist"
+-msgstr ""
+-
+-#: bfd.c:471
+-msgid "Bad value"
+-msgstr ""
+-
+-#: bfd.c:472
+-msgid "File truncated"
+-msgstr ""
+-
+-#: bfd.c:473
+-msgid "File too big"
+-msgstr ""
+-
+-#: bfd.c:474
+ #, c-format
+-msgid "Error reading %s: %s"
++msgid "error reading %s: %s"
+ msgstr ""
+ 
+-#: bfd.c:475
+-msgid "#<Invalid error code>"
++#: bfd.c:469
++msgid "#<invalid error code>"
+ msgstr ""
+ 
+-#: bfd.c:1442
++#: bfd.c:1416
+ #, c-format
+ msgid "BFD %s assertion fail %s:%d"
+ msgstr ""
+ 
+-#: bfd.c:1455
++#: bfd.c:1429
+ #, c-format
+ msgid "BFD %s internal error, aborting at %s:%d in %s\n"
+ msgstr ""
+ 
+-#: bfd.c:1460
++#: bfd.c:1434
+ #, c-format
+ msgid "BFD %s internal error, aborting at %s:%d\n"
+ msgstr ""
+ 
+-#: bfd.c:1462
++#: bfd.c:1436
+ msgid "Please report this bug.\n"
+ msgstr ""
+ 
+@@ -332,7 +371,7 @@ msgstr ""
+ msgid "private flags = %x:"
+ msgstr ""
+ 
+-#: coff-arm.c:2306 elf32-arm.c:14160
++#: coff-arm.c:2306 elf32-arm.c:14191
+ #, c-format
+ msgid " [floats passed in float registers]"
+ msgstr ""
+@@ -342,7 +381,7 @@ msgstr ""
+ msgid " [floats passed in integer registers]"
+ msgstr ""
+ 
+-#: coff-arm.c:2311 elf32-arm.c:14163
++#: coff-arm.c:2311 elf32-arm.c:14194
+ #, c-format
+ msgid " [position independent]"
+ msgstr ""
+@@ -2565,224 +2604,180 @@ msgstr ""
+ msgid "ip2k relaxer: switch table header corrupt."
+ msgstr ""
+ 
+-#: elf32-ip2k.c:1245
+-#, c-format
+-msgid "%B: invalid IP2K reloc number: %d"
+-msgstr ""
+-
+-#: elf32-ip2k.c:1298
+-#, c-format
+-msgid "ip2k linker: missing page instruction at %#Lx (dest = %#Lx)"
+-msgstr ""
+-
+-#: elf32-ip2k.c:1315
+-#, c-format
+-msgid "ip2k linker: redundant page instruction at %#Lx (dest = %#Lx)"
+-msgstr ""
+-
+-#: elf32-iq2000.c:441
++#: elf32-ip2k.c:1302
+ #, c-format
+-msgid "%B: invalid IQ2000 reloc number: %d"
++msgid "ip2k linker: missing page instruction at %#<PRIx64> (dest = %#<PRIx64>)"
+ msgstr ""
+ 
+-#: elf32-lm32.c:539
++#: elf32-ip2k.c:1321
+ #, c-format
+-msgid "%B: invalid LM32 reloc number: %d"
++msgid ""
++"ip2k linker: redundant page instruction at %#<PRIx64> (dest = %#<PRIx64>)"
+ msgstr ""
+ 
+-#: elf32-lm32.c:648 elf32-nios2.c:3133
++#: elf32-lm32.c:651 elf32-nios2.c:3141
+ msgid "global pointer relative relocation when _gp not defined"
+ msgstr ""
+ 
+-#: elf32-lm32.c:703 elf32-nios2.c:3570
++#: elf32-lm32.c:706 elf32-nios2.c:3578
+ msgid "global pointer relative address out of range"
+ msgstr ""
+ 
+-#: elf32-lm32.c:998
+-msgid "internal error: addend should be zero for R_LM32_16_GOT"
+-msgstr ""
+-
+-#: elf32-m32c.c:306
++#: elf32-lm32.c:1002 elf32-or1k.c:968
+ #, c-format
+-msgid "%B: invalid M32C reloc number: %d"
++msgid "internal error: addend should be zero for %s"
+ msgstr ""
+ 
+-#: elf32-m32r.c:1286
+-#, c-format
+-msgid "%B: invalid M32R reloc number: %d"
+-msgstr ""
+-
+-#: elf32-m32r.c:1458
++#: elf32-m32r.c:1471
+ msgid "SDA relocation when _SDA_BASE_ not defined"
+ msgstr ""
+ 
+-#: elf32-m32r.c:2971 elf32-microblaze.c:1064 elf32-microblaze.c:1112
++#: elf32-m32r.c:2984 elf32-microblaze.c:1101 elf32-microblaze.c:1149
+ #, c-format
+-msgid "%B: The target (%s) of an %s relocation is in the wrong section (%A)"
++msgid "%pB: the target (%s) of an %s relocation is in the wrong section (%pA)"
+ msgstr ""
+ 
+-#: elf32-m32r.c:3473
+-msgid "%B: Instruction set mismatch with previous modules"
++#: elf32-m32r.c:3487
++#, c-format
++msgid "%pB: instruction set mismatch with previous modules"
+ msgstr ""
+ 
+-#: elf32-m32r.c:3494 elf32-nds32.c:6037
++#: elf32-m32r.c:3508 elf32-nds32.c:6010
+ #, c-format
+ msgid "private flags = %lx"
+ msgstr ""
+ 
+-#: elf32-m32r.c:3499
++#: elf32-m32r.c:3513
+ #, c-format
+ msgid ": m32r instructions"
+ msgstr ""
+ 
+-#: elf32-m32r.c:3500
++#: elf32-m32r.c:3514
+ #, c-format
+ msgid ": m32rx instructions"
+ msgstr ""
+ 
+-#: elf32-m32r.c:3501
++#: elf32-m32r.c:3515
+ #, c-format
+ msgid ": m32r2 instructions"
+ msgstr ""
+ 
+-#: elf32-m68hc11.c:390
+-#, c-format
+-msgid "%B: invalid M68HC11 reloc number: %d"
+-msgstr ""
+-
+-#: elf32-m68hc12.c:510
+-#, c-format
+-msgid "%B: invalid M68HC12 reloc number: %d"
+-msgstr ""
+-
+-#: elf32-m68hc1x.c:1115
++#: elf32-m68hc1x.c:1116
+ #, c-format
+ msgid ""
+-"Reference to the far symbol `%s' using a wrong relocation may result in "
++"reference to the far symbol `%s' using a wrong relocation may result in "
+ "incorrect execution"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1149
++#: elf32-m68hc1x.c:1150
+ #, c-format
+ msgid ""
+ "XGATE address (%lx) is not within shared RAM(0xE000-0xFFFF), therefore you "
+ "must manually offset the address, and possibly manage the page, in your code."
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1167
++#: elf32-m68hc1x.c:1168
+ #, c-format
+ msgid ""
+ "banked address [%lx:%04lx] (%lx) is not in the same bank as current banked "
+ "address [%lx:%04lx] (%lx)"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1183
++#: elf32-m68hc1x.c:1184
+ #, c-format
+ msgid ""
+ "reference to a banked address [%lx:%04lx] in the normal address space at "
+ "%04lx"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1224
++#: elf32-m68hc1x.c:1225
+ #, c-format
+ msgid ""
+ "S12 address (%lx) is not within shared RAM(0x2000-0x4000), therefore you "
+ "must manually offset the address in your code"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1351
++#: elf32-m68hc1x.c:1352
++#, c-format
+ msgid ""
+-"%B: linking files compiled for 16-bit integers (-mshort) and others for 32-"
++"%pB: linking files compiled for 16-bit integers (-mshort) and others for 32-"
+ "bit integers"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1358
++#: elf32-m68hc1x.c:1359
++#, c-format
+ msgid ""
+-"%B: linking files compiled for 32-bit double (-fshort-double) and others for "
+-"64-bit double"
++"%pB: linking files compiled for 32-bit double (-fshort-double) and others "
++"for 64-bit double"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1367
+-msgid "%B: linking files compiled for HCS12 with others compiled for HC12"
++#: elf32-m68hc1x.c:1368
++#, c-format
++msgid "%pB: linking files compiled for HCS12 with others compiled for HC12"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1412 elf32-xgate.c:672
++#: elf32-m68hc1x.c:1413 elf32-xgate.c:675
+ #, c-format
+ msgid "[abi=32-bit int, "
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1414 elf32-xgate.c:674
++#: elf32-m68hc1x.c:1415 elf32-xgate.c:677
+ #, c-format
+ msgid "[abi=16-bit int, "
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1417 elf32-xgate.c:677
++#: elf32-m68hc1x.c:1418 elf32-xgate.c:680
+ #, c-format
+ msgid "64-bit double, "
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1419 elf32-xgate.c:679
++#: elf32-m68hc1x.c:1420 elf32-xgate.c:682
+ #, c-format
+ msgid "32-bit double, "
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1422
++#: elf32-m68hc1x.c:1423
+ #, c-format
+ msgid "cpu=HC11]"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1424
++#: elf32-m68hc1x.c:1425
+ #, c-format
+ msgid "cpu=HCS12]"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1426
++#: elf32-m68hc1x.c:1427
+ #, c-format
+ msgid "cpu=HC12]"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1429
++#: elf32-m68hc1x.c:1430
+ #, c-format
+ msgid " [memory=bank-model]"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1431
++#: elf32-m68hc1x.c:1432
+ #, c-format
+ msgid " [memory=flat]"
+ msgstr ""
+ 
+-#: elf32-m68hc1x.c:1434
++#: elf32-m68hc1x.c:1435
+ #, c-format
+ msgid " [XGATE RAM offsetting]"
+ msgstr ""
+ 
+-#: elf32-m68k.c:1214 elf32-m68k.c:1215 vms-alpha.c:7477 vms-alpha.c:7493
++#: elf32-m68k.c:1216 elf32-m68k.c:1217 vms-alpha.c:7478 vms-alpha.c:7494
+ msgid "unknown"
+ msgstr ""
+ 
+-#: elf32-m68k.c:1658
+-#, c-format
+-msgid "%B: GOT overflow: Number of relocations with 8-bit offset > %d"
+-msgstr ""
+-
+-#: elf32-m68k.c:1665
+-#, c-format
+-msgid "%B: GOT overflow: Number of relocations with 8- or 16-bit offset > %d"
+-msgstr ""
+-
+-#: elf32-mcore.c:100 elf32-mcore.c:455
++#: elf32-m68k.c:1660
+ #, c-format
+-msgid "%B: Relocation %s (%d) is not currently supported.\n"
++msgid "%pB: GOT overflow: number of relocations with 8-bit offset > %d"
+ msgstr ""
+ 
+-#: elf32-mcore.c:355
++#: elf32-m68k.c:1667
+ #, c-format
+-msgid "%B: unrecognised MCore reloc number: %d"
+-msgstr ""
+-
+-#: elf32-mcore.c:440
+-#, c-format
+-msgid "%B: Unknown relocation type %d\n"
++msgid "%pB: GOT overflow: number of relocations with 8- or 16-bit offset > %d"
+ msgstr ""
+ 
+ #. Pacify gcc -Wall.
+@@ -5936,124 +5931,128 @@ msgstr ""
+ #. XXX code yet to be written.
+ #: peicode.h:775
+ #, c-format
+-msgid "%B: Unhandled import type; %x"
++msgid "%pB: unhandled import type; %x"
+ msgstr ""
+ 
+ #: peicode.h:781
+ #, c-format
+-msgid "%B: Unrecognised import type; %x"
++msgid "%pB: unrecognized import type; %x"
+ msgstr ""
+ 
+ #: peicode.h:796
+ #, c-format
+-msgid "%B: Unrecognised import name type; %x"
++msgid "%pB: unrecognized import name type; %x"
+ msgstr ""
+ 
+-#: peicode.h:1217
++#: peicode.h:1211
+ #, c-format
+-msgid "%B: Unrecognised machine type (0x%x) in Import Library Format archive"
++msgid "%pB: unrecognised machine type (0x%x) in Import Library Format archive"
+ msgstr ""
+ 
+-#: peicode.h:1230
++#: peicode.h:1224
+ #, c-format
+ msgid ""
+-"%B: Recognised but unhandled machine type (0x%x) in Import Library Format "
++"%pB: recognised but unhandled machine type (0x%x) in Import Library Format "
+ "archive"
+ msgstr ""
+ 
+-#: peicode.h:1248
+-msgid "%B: size field is zero in Import Library Format header"
++#: peicode.h:1242
++#, c-format
++msgid "%pB: size field is zero in Import Library Format header"
+ msgstr ""
+ 
+-#: peicode.h:1280
+-msgid "%B: string not null terminated in ILF object file."
++#: peicode.h:1274
++#, c-format
++msgid "%pB: string not null terminated in ILF object file"
+ msgstr ""
+ 
+-#: peicode.h:1335
+-msgid "%B: Error: Debug Data ends beyond end of debug directory."
++#: peicode.h:1330
++#, c-format
++msgid "%pB: error: debug data ends beyond end of debug directory"
+ msgstr ""
+ 
+-#: ppcboot.c:393
++#: ppcboot.c:392
+ #, c-format
+ msgid ""
+ "\n"
+ "ppcboot header:\n"
+ msgstr ""
+ 
+-#: ppcboot.c:394
++#: ppcboot.c:393
+ #, c-format
+ msgid "Entry offset        = 0x%.8lx (%ld)\n"
+ msgstr ""
+ 
+-#: ppcboot.c:396
++#: ppcboot.c:395
+ #, c-format
+ msgid "Length              = 0x%.8lx (%ld)\n"
+ msgstr ""
+ 
+-#: ppcboot.c:400
++#: ppcboot.c:399
+ #, c-format
+ msgid "Flag field          = 0x%.2x\n"
+ msgstr ""
+ 
+-#: ppcboot.c:406
++#: ppcboot.c:405
+ #, c-format
+ msgid "Partition name      = \"%s\"\n"
+ msgstr ""
+ 
+-#: ppcboot.c:426
++#: ppcboot.c:425
+ #, c-format
+ msgid ""
+ "\n"
+ "Partition[%d] start  = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
+ msgstr ""
+ 
+-#: ppcboot.c:433
++#: ppcboot.c:432
+ #, c-format
+ msgid "Partition[%d] end    = { 0x%.2x, 0x%.2x, 0x%.2x, 0x%.2x }\n"
+ msgstr ""
+ 
+-#: ppcboot.c:440
++#: ppcboot.c:439
+ #, c-format
+ msgid "Partition[%d] sector = 0x%.8lx (%ld)\n"
+ msgstr ""
+ 
+-#: ppcboot.c:444
++#: ppcboot.c:443
+ #, c-format
+ msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
+ msgstr ""
+ 
+-#: reloc.c:8106
+-msgid "INPUT_SECTION_FLAGS are not supported.\n"
++#: reloc.c:8125
++msgid "INPUT_SECTION_FLAGS are not supported"
+ msgstr ""
+ 
+-#: reloc.c:8207
++#: reloc.c:8226
+ #, c-format
+-msgid "%X%P: %B(%A): error: relocation for offset %V has no value\n"
++msgid "%X%P: %pB(%pA): error: relocation for offset %V has no value\n"
+ msgstr ""
+ 
+-#: reloc.c:8283
++#: reloc.c:8302
+ #, c-format
+-msgid "%X%P: %B(%A): relocation \"%R\" is not supported\n"
++msgid "%X%P: %pB(%pA): relocation \"%pR\" is not supported\n"
+ msgstr ""
+ 
+-#: reloc.c:8292
++#: reloc.c:8311
+ #, c-format
+-msgid "%X%P: %B(%A): relocation \"%R\" returns an unrecognized value %x\n"
++msgid "%X%P: %pB(%pA): relocation \"%pR\" returns an unrecognized value %x\n"
+ msgstr ""
+ 
+-#: reloc.c:8354
++#: reloc.c:8373
+ #, c-format
+-msgid "%B: unrecognized relocation (%#x) in section `%A'"
++msgid "%pB: unrecognized relocation type %#x in section `%pA'"
+ msgstr ""
+ 
+ #. PR 21803: Suggest the most likely cause of this error.
+-#: reloc.c:8358
++#: reloc.c:8377
+ #, c-format
+-msgid "Is this version of the linker - %s - out of date ?"
++msgid "is this version of the linker - %s - out of date ?"
+ msgstr ""
+ 
+ #: rs6000-core.c:471
+-msgid "%B: warning core file truncated"
++#, c-format
++msgid "%pB: warning core file truncated"
+ msgstr ""
+ 
+ #: som.c:5478
+@@ -6069,91 +6068,91 @@ msgstr ""
+ 
+ #: srec.c:260
+ #, c-format
+-msgid "%B:%d: Unexpected character `%s' in S-record file\n"
++msgid "%pB:%d: unexpected character `%s' in S-record file"
+ msgstr ""
+ 
+ #: srec.c:488
+ #, c-format
+-msgid "%B:%d: byte count %d too small\n"
++msgid "%pB:%d: byte count %d too small"
+ msgstr ""
+ 
+ #: srec.c:581 srec.c:615
+ #, c-format
+-msgid "%B:%d: Bad checksum in S-record file\n"
++msgid "%pB:%d: bad checksum in S-record file"
+ msgstr ""
+ 
+ #: stabs.c:279
+ #, c-format
+-msgid "%B(%A+%#lx): Stabs entry has invalid string index."
++msgid "%pB(%pA+%#lx): stabs entry has invalid string index"
+ msgstr ""
+ 
+ #: syms.c:1079
+-msgid "Unsupported .stab relocation"
++msgid "unsupported .stab relocation"
+ msgstr ""
+ 
+ #: vms-alpha.c:479
+-msgid "Corrupt EIHD record - size is too small"
++msgid "corrupt EIHD record - size is too small"
+ msgstr ""
+ 
+ #: vms-alpha.c:660
+ #, c-format
+-msgid "Unable to read EIHS record at offset %#x"
++msgid "unable to read EIHS record at offset %#x"
+ msgstr ""
+ 
+-#: vms-alpha.c:1172
++#: vms-alpha.c:1173
+ #, c-format
+-msgid "Corrupt EGSD record: its size (%#x) is too small"
++msgid "corrupt EGSD record: its size (%#x) is too small"
+ msgstr ""
+ 
+-#: vms-alpha.c:1196
++#: vms-alpha.c:1197
+ #, c-format
+-msgid "Corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
++msgid "corrupt EGSD record: size (%#x) is larger than remaining space (%#x)"
+ msgstr ""
+ 
+-#: vms-alpha.c:1204
++#: vms-alpha.c:1205
+ #, c-format
+-msgid "Corrupt EGSD record: size (%#x) is too small"
++msgid "corrupt EGSD record: size (%#x) is too small"
+ msgstr ""
+ 
+-#: vms-alpha.c:1333 vms-alpha.c:1349 vms-alpha.c:1389
++#: vms-alpha.c:1334 vms-alpha.c:1350 vms-alpha.c:1390
+ #, c-format
+-msgid "Corrupt EGSD record: its psindx field is too big (%#lx)"
++msgid "corrupt EGSD record: its psindx field is too big (%#lx)"
+ msgstr ""
+ 
+-#: vms-alpha.c:1418
++#: vms-alpha.c:1419
+ #, c-format
+-msgid "Unknown EGSD subtype %d"
++msgid "unknown EGSD subtype %d"
+ msgstr ""
+ 
+-#: vms-alpha.c:1451
++#: vms-alpha.c:1452
+ #, c-format
+-msgid "Stack overflow (%d) in _bfd_vms_push"
++msgid "stack overflow (%d) in _bfd_vms_push"
+ msgstr ""
+ 
+-#: vms-alpha.c:1464
+-msgid "Stack underflow in _bfd_vms_pop"
++#: vms-alpha.c:1465
++msgid "stack underflow in _bfd_vms_pop"
+ msgstr ""
+ 
+ #. These names have not yet been added to this switch statement.
+-#: vms-alpha.c:1706
++#: vms-alpha.c:1707
+ #, c-format
+ msgid "unknown ETIR command %d"
+ msgstr ""
+ 
+-#: vms-alpha.c:1737
+-msgid "Corrupt vms value"
++#: vms-alpha.c:1738
++msgid "corrupt vms value"
+ msgstr ""
+ 
+-#: vms-alpha.c:1865
+-msgid "Corrupt ETIR record encountered"
++#: vms-alpha.c:1866
++msgid "corrupt ETIR record encountered"
+ msgstr ""
+ 
+-#: vms-alpha.c:1922
++#: vms-alpha.c:1923
+ #, c-format
+ msgid "bad section index in %s"
+ msgstr ""
+ 
+-#: vms-alpha.c:1935
++#: vms-alpha.c:1936
+ #, c-format
+ msgid "unsupported STA cmd %s"
+ msgstr ""
+@@ -6163,1961 +6162,1932 @@ msgstr ""
+ #. Rotate.
+ #. Redefine symbol to current location.
+ #. Define a literal.
+-#: vms-alpha.c:2115 vms-alpha.c:2146 vms-alpha.c:2237 vms-alpha.c:2395
++#: vms-alpha.c:2116 vms-alpha.c:2147 vms-alpha.c:2238 vms-alpha.c:2396
+ #, c-format
+ msgid "%s: not supported"
+ msgstr ""
+ 
+-#: vms-alpha.c:2121
++#: vms-alpha.c:2122
+ #, c-format
+ msgid "%s: not implemented"
+ msgstr ""
+ 
+-#: vms-alpha.c:2379
++#: vms-alpha.c:2380
+ #, c-format
+ msgid "invalid use of %s with contexts"
+ msgstr ""
+ 
+-#: vms-alpha.c:2413
++#: vms-alpha.c:2414
+ #, c-format
+ msgid "reserved cmd %d"
+ msgstr ""
+ 
+-#: vms-alpha.c:2497
+-msgid "Corrupt EEOM record - size is too small"
++#: vms-alpha.c:2498
++msgid "corrupt EEOM record - size is too small"
+ msgstr ""
+ 
+-#: vms-alpha.c:2506
+-msgid "Object module NOT error-free !\n"
++#: vms-alpha.c:2507
++msgid "object module not error-free !"
+ msgstr ""
+ 
+-#: vms-alpha.c:3830
++#: vms-alpha.c:3831
+ #, c-format
+-msgid "SEC_RELOC with no relocs in section %A"
++msgid "SEC_RELOC with no relocs in section %pA"
+ msgstr ""
+ 
+-#: vms-alpha.c:3882 vms-alpha.c:4095
++#: vms-alpha.c:3883 vms-alpha.c:4096
+ #, c-format
+-msgid "Size error in section %A"
++msgid "size error in section %pA"
+ msgstr ""
+ 
+-#: vms-alpha.c:4041
+-msgid "Spurious ALPHA_R_BSR reloc"
++#: vms-alpha.c:4042
++msgid "spurious ALPHA_R_BSR reloc"
+ msgstr ""
+ 
+-#: vms-alpha.c:4082
++#: vms-alpha.c:4083
+ #, c-format
+-msgid "Unhandled relocation %s"
++msgid "unhandled relocation %s"
+ msgstr ""
+ 
+-#: vms-alpha.c:4375
++#: vms-alpha.c:4376
+ #, c-format
+ msgid "unknown source command %d"
+ msgstr ""
+ 
+-#: vms-alpha.c:4436
+-msgid "DST__K_SET_LINUM_INCR not implemented"
+-msgstr ""
+-
+-#: vms-alpha.c:4442
+-msgid "DST__K_SET_LINUM_INCR_W not implemented"
+-msgstr ""
+-
+-#: vms-alpha.c:4448
+-msgid "DST__K_RESET_LINUM_INCR not implemented"
+-msgstr ""
+-
+-#: vms-alpha.c:4454
+-msgid "DST__K_BEG_STMT_MODE not implemented"
+-msgstr ""
+-
+-#: vms-alpha.c:4460
+-msgid "DST__K_END_STMT_MODE not implemented"
+-msgstr ""
+-
+-#: vms-alpha.c:4487
+-msgid "DST__K_SET_PC not implemented"
+-msgstr ""
+-
+-#: vms-alpha.c:4493
+-msgid "DST__K_SET_PC_W not implemented"
+-msgstr ""
+-
+-#: vms-alpha.c:4499
+-msgid "DST__K_SET_PC_L not implemented"
+-msgstr ""
+-
+-#: vms-alpha.c:4505
+-msgid "DST__K_SET_STMTNUM not implemented"
++#: vms-alpha.c:4437 vms-alpha.c:4443 vms-alpha.c:4449 vms-alpha.c:4455
++#: vms-alpha.c:4461 vms-alpha.c:4488 vms-alpha.c:4494 vms-alpha.c:4500
++#: vms-alpha.c:4506
++#, c-format
++msgid "%s not implemented"
+ msgstr ""
+ 
+-#: vms-alpha.c:4548
++#: vms-alpha.c:4549
+ #, c-format
+ msgid "unknown line command %d"
+ msgstr ""
+ 
+-#: vms-alpha.c:5008 vms-alpha.c:5026 vms-alpha.c:5041 vms-alpha.c:5057
+-#: vms-alpha.c:5070 vms-alpha.c:5082 vms-alpha.c:5095
++#: vms-alpha.c:5009 vms-alpha.c:5027 vms-alpha.c:5042 vms-alpha.c:5058
++#: vms-alpha.c:5071 vms-alpha.c:5083 vms-alpha.c:5096
+ #, c-format
+-msgid "Unknown reloc %s + %s"
++msgid "unknown reloc %s + %s"
+ msgstr ""
+ 
+-#: vms-alpha.c:5150
++#: vms-alpha.c:5151
+ #, c-format
+-msgid "Unknown reloc %s"
++msgid "unknown reloc %s"
+ msgstr ""
+ 
+-#: vms-alpha.c:5163
+-msgid "Invalid section index in ETIR"
++#: vms-alpha.c:5164
++msgid "invalid section index in ETIR"
+ msgstr ""
+ 
+-#: vms-alpha.c:5172
+-msgid "Relocation for non-REL psect"
++#: vms-alpha.c:5173
++msgid "relocation for non-REL psect"
+ msgstr ""
+ 
+-#: vms-alpha.c:5219
++#: vms-alpha.c:5220
+ #, c-format
+-msgid "Unknown symbol in command %s"
++msgid "unknown symbol in command %s"
+ msgstr ""
+ 
+-#: vms-alpha.c:5629
++#: vms-alpha.c:5630
+ #, c-format
+ msgid "reloc (%d) is *UNKNOWN*"
+ msgstr ""
+ 
+-#: vms-alpha.c:5745
++#: vms-alpha.c:5746
+ #, c-format
+ msgid "  EMH %u (len=%u): "
+ msgstr ""
+ 
+-#: vms-alpha.c:5750
++#: vms-alpha.c:5751
+ #, c-format
+ msgid "   Error: The length is less than the length of an EMH record\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5767
++#: vms-alpha.c:5768
+ #, c-format
+ msgid ""
+ "   Error: The record length is less than the size of an EMH_MHD record\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5770
++#: vms-alpha.c:5771
+ #, c-format
+ msgid "Module header\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5771
++#: vms-alpha.c:5772
+ #, c-format
+ msgid "   structure level: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5772
++#: vms-alpha.c:5773
+ #, c-format
+ msgid "   max record size: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5778
++#: vms-alpha.c:5779
+ #, c-format
+ msgid "   Error: The module name is missing\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5784
++#: vms-alpha.c:5785
+ #, c-format
+ msgid "   Error: The module name is too long\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5787
++#: vms-alpha.c:5788
+ #, c-format
+ msgid "   module name    : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5791
++#: vms-alpha.c:5792
+ #, c-format
+ msgid "   Error: The module version is missing\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5797
++#: vms-alpha.c:5798
+ #, c-format
+ msgid "   Error: The module version is too long\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5800
++#: vms-alpha.c:5801
+ #, c-format
+ msgid "   module version : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5803
++#: vms-alpha.c:5804
+ #, c-format
+ msgid "   Error: The compile date is truncated\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5805
++#: vms-alpha.c:5806
+ #, c-format
+ msgid "   compile date   : %.17s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5810
++#: vms-alpha.c:5811
+ #, c-format
+ msgid "Language Processor Name\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5811
++#: vms-alpha.c:5812
+ #, c-format
+ msgid "   language name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5815
++#: vms-alpha.c:5816
+ #, c-format
+ msgid "Source Files Header\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5816
++#: vms-alpha.c:5817
+ #, c-format
+ msgid "   file: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5820
++#: vms-alpha.c:5821
+ #, c-format
+ msgid "Title Text Header\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5821
++#: vms-alpha.c:5822
+ #, c-format
+ msgid "   title: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5825
++#: vms-alpha.c:5826
+ #, c-format
+ msgid "Copyright Header\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5826
++#: vms-alpha.c:5827
+ #, c-format
+ msgid "   copyright: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5830
++#: vms-alpha.c:5831
+ #, c-format
+ msgid "unhandled emh subtype %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5840
++#: vms-alpha.c:5841
+ #, c-format
+ msgid "  EEOM (len=%u):\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5845
++#: vms-alpha.c:5846
+ #, c-format
+ msgid "   Error: The length is less than the length of an EEOM record\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5849
++#: vms-alpha.c:5850
+ #, c-format
+ msgid "   number of cond linkage pairs: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5851
++#: vms-alpha.c:5852
+ #, c-format
+ msgid "   completion code: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5855
++#: vms-alpha.c:5856
+ #, c-format
+ msgid "   transfer addr flags: 0x%02x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5856
++#: vms-alpha.c:5857
+ #, c-format
+ msgid "   transfer addr psect: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5858
++#: vms-alpha.c:5859
+ #, c-format
+ msgid "   transfer address   : 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5867
++#: vms-alpha.c:5868
+ msgid " WEAK"
+ msgstr ""
+ 
+-#: vms-alpha.c:5869
++#: vms-alpha.c:5870
+ msgid " DEF"
+ msgstr ""
+ 
+-#: vms-alpha.c:5871
++#: vms-alpha.c:5872
+ msgid " UNI"
+ msgstr ""
+ 
+-#: vms-alpha.c:5873 vms-alpha.c:5894
++#: vms-alpha.c:5874 vms-alpha.c:5895
+ msgid " REL"
+ msgstr ""
+ 
+-#: vms-alpha.c:5875
++#: vms-alpha.c:5876
+ msgid " COMM"
+ msgstr ""
+ 
+-#: vms-alpha.c:5877
++#: vms-alpha.c:5878
+ msgid " VECEP"
+ msgstr ""
+ 
+-#: vms-alpha.c:5879
++#: vms-alpha.c:5880
+ msgid " NORM"
+ msgstr ""
+ 
+-#: vms-alpha.c:5881
++#: vms-alpha.c:5882
+ msgid " QVAL"
+ msgstr ""
+ 
+-#: vms-alpha.c:5888
++#: vms-alpha.c:5889
+ msgid " PIC"
+ msgstr ""
+ 
+-#: vms-alpha.c:5890
++#: vms-alpha.c:5891
+ msgid " LIB"
+ msgstr ""
+ 
+-#: vms-alpha.c:5892
++#: vms-alpha.c:5893
+ msgid " OVR"
+ msgstr ""
+ 
+-#: vms-alpha.c:5896
++#: vms-alpha.c:5897
+ msgid " GBL"
+ msgstr ""
+ 
+-#: vms-alpha.c:5898
++#: vms-alpha.c:5899
+ msgid " SHR"
+ msgstr ""
+ 
+-#: vms-alpha.c:5900
++#: vms-alpha.c:5901
+ msgid " EXE"
+ msgstr ""
+ 
+-#: vms-alpha.c:5902
++#: vms-alpha.c:5903
+ msgid " RD"
+ msgstr ""
+ 
+-#: vms-alpha.c:5904
++#: vms-alpha.c:5905
+ msgid " WRT"
+ msgstr ""
+ 
+-#: vms-alpha.c:5906
++#: vms-alpha.c:5907
+ msgid " VEC"
+ msgstr ""
+ 
+-#: vms-alpha.c:5908
++#: vms-alpha.c:5909
+ msgid " NOMOD"
+ msgstr ""
+ 
+-#: vms-alpha.c:5910
++#: vms-alpha.c:5911
+ msgid " COM"
+ msgstr ""
+ 
+-#: vms-alpha.c:5912
++#: vms-alpha.c:5913
+ msgid " 64B"
+ msgstr ""
+ 
+-#: vms-alpha.c:5921
++#: vms-alpha.c:5922
+ #, c-format
+ msgid "  EGSD (len=%u):\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5934
++#: vms-alpha.c:5935
+ #, c-format
+ msgid "  EGSD entry %2u (type: %u, len: %u): "
+ msgstr ""
+ 
+-#: vms-alpha.c:5940 vms-alpha.c:6191
++#: vms-alpha.c:5941 vms-alpha.c:6192
+ #, c-format
+ msgid "   Error: length larger than remaining space in record\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5952
++#: vms-alpha.c:5953
+ #, c-format
+ msgid "PSC - Program section definition\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5953 vms-alpha.c:5970
++#: vms-alpha.c:5954 vms-alpha.c:5971
+ #, c-format
+ msgid "   alignment  : 2**%u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5954 vms-alpha.c:5971
++#: vms-alpha.c:5955 vms-alpha.c:5972
+ #, c-format
+ msgid "   flags      : 0x%04x"
+ msgstr ""
+ 
+-#: vms-alpha.c:5958
++#: vms-alpha.c:5959
+ #, c-format
+ msgid "   alloc (len): %u (0x%08x)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5959 vms-alpha.c:6016 vms-alpha.c:6065
++#: vms-alpha.c:5960 vms-alpha.c:6017 vms-alpha.c:6066
+ #, c-format
+ msgid "   name       : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5969
++#: vms-alpha.c:5970
+ #, c-format
+ msgid "SPSC - Shared Image Program section def\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5975
++#: vms-alpha.c:5976
+ #, c-format
+ msgid "   alloc (len)   : %u (0x%08x)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5976
++#: vms-alpha.c:5977
+ #, c-format
+ msgid "   image offset  : 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5978
++#: vms-alpha.c:5979
+ #, c-format
+ msgid "   symvec offset : 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5980
++#: vms-alpha.c:5981
+ #, c-format
+ msgid "   name          : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5993
++#: vms-alpha.c:5994
+ #, c-format
+ msgid "SYM - Global symbol definition\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:5994 vms-alpha.c:6054 vms-alpha.c:6075 vms-alpha.c:6094
++#: vms-alpha.c:5995 vms-alpha.c:6055 vms-alpha.c:6076 vms-alpha.c:6095
+ #, c-format
+ msgid "   flags: 0x%04x"
+ msgstr ""
+ 
+-#: vms-alpha.c:5997
++#: vms-alpha.c:5998
+ #, c-format
+ msgid "   psect offset: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6001
++#: vms-alpha.c:6002
+ #, c-format
+ msgid "   code address: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6003
++#: vms-alpha.c:6004
+ #, c-format
+ msgid "   psect index for entry point : %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6006 vms-alpha.c:6082 vms-alpha.c:6101
++#: vms-alpha.c:6007 vms-alpha.c:6083 vms-alpha.c:6102
+ #, c-format
+ msgid "   psect index : %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6008 vms-alpha.c:6084 vms-alpha.c:6103
++#: vms-alpha.c:6009 vms-alpha.c:6085 vms-alpha.c:6104
+ #, c-format
+ msgid "   name        : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6015
++#: vms-alpha.c:6016
+ #, c-format
+ msgid "SYM - Global symbol reference\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6027
++#: vms-alpha.c:6028
+ #, c-format
+ msgid "IDC - Ident Consistency check\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6028
++#: vms-alpha.c:6029
+ #, c-format
+ msgid "   flags         : 0x%08x"
+ msgstr ""
+ 
+-#: vms-alpha.c:6032
++#: vms-alpha.c:6033
+ #, c-format
+ msgid "   id match      : %x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6034
++#: vms-alpha.c:6035
+ #, c-format
+ msgid "   error severity: %x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6037
++#: vms-alpha.c:6038
+ #, c-format
+ msgid "   entity name   : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6039
++#: vms-alpha.c:6040
+ #, c-format
+ msgid "   object name   : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6042
++#: vms-alpha.c:6043
+ #, c-format
+ msgid "   binary ident  : 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6045
++#: vms-alpha.c:6046
+ #, c-format
+ msgid "   ascii ident   : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6053
++#: vms-alpha.c:6054
+ #, c-format
+ msgid "SYMG - Universal symbol definition\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6057
++#: vms-alpha.c:6058
+ #, c-format
+ msgid "   symbol vector offset: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6059
++#: vms-alpha.c:6060
+ #, c-format
+ msgid "   entry point: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6061
++#: vms-alpha.c:6062
+ #, c-format
+ msgid "   proc descr : 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6063
++#: vms-alpha.c:6064
+ #, c-format
+ msgid "   psect index: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6074
++#: vms-alpha.c:6075
+ #, c-format
+ msgid "SYMV - Vectored symbol definition\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6078
++#: vms-alpha.c:6079
+ #, c-format
+ msgid "   vector      : 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6080 vms-alpha.c:6099
++#: vms-alpha.c:6081 vms-alpha.c:6100
+ #, c-format
+ msgid "   psect offset: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6093
++#: vms-alpha.c:6094
+ #, c-format
+ msgid "SYMM - Global symbol definition with version\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6097
++#: vms-alpha.c:6098
+ #, c-format
+ msgid "   version mask: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6108
++#: vms-alpha.c:6109
+ #, c-format
+ msgid "unhandled egsd entry type %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6143
++#: vms-alpha.c:6144
+ #, c-format
+ msgid "    linkage index: %u, replacement insn: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6147
++#: vms-alpha.c:6148
+ #, c-format
+ msgid "    psect idx 1: %u, offset 1: 0x%08x %08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6152
++#: vms-alpha.c:6153
+ #, c-format
+ msgid "    psect idx 2: %u, offset 2: 0x%08x %08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6158
++#: vms-alpha.c:6159
+ #, c-format
+ msgid "    psect idx 3: %u, offset 3: 0x%08x %08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6163
++#: vms-alpha.c:6164
+ #, c-format
+ msgid "    global name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6174
++#: vms-alpha.c:6175
+ #, c-format
+ msgid "  %s (len=%u+%u):\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6196
++#: vms-alpha.c:6197
+ #, c-format
+ msgid "   (type: %3u, size: 4+%3u): "
+ msgstr ""
+ 
+-#: vms-alpha.c:6200
++#: vms-alpha.c:6201
+ #, c-format
+ msgid "STA_GBL (stack global) %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6204
++#: vms-alpha.c:6205
+ #, c-format
+ msgid "STA_LW (stack longword) 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6208
++#: vms-alpha.c:6209
+ #, c-format
+ msgid "STA_QW (stack quadword) 0x%08x %08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6213
++#: vms-alpha.c:6214
+ #, c-format
+ msgid "STA_PQ (stack psect base + offset)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6215
++#: vms-alpha.c:6216
+ #, c-format
+ msgid "    psect: %u, offset: 0x%08x %08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6221
++#: vms-alpha.c:6222
+ #, c-format
+ msgid "STA_LI (stack literal)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6224
++#: vms-alpha.c:6225
+ #, c-format
+ msgid "STA_MOD (stack module)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6227
++#: vms-alpha.c:6228
+ #, c-format
+ msgid "STA_CKARG (compare procedure argument)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6231
++#: vms-alpha.c:6232
+ #, c-format
+ msgid "STO_B (store byte)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6234
++#: vms-alpha.c:6235
+ #, c-format
+ msgid "STO_W (store word)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6237
++#: vms-alpha.c:6238
+ #, c-format
+ msgid "STO_LW (store longword)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6240
++#: vms-alpha.c:6241
+ #, c-format
+ msgid "STO_QW (store quadword)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6246
++#: vms-alpha.c:6247
+ #, c-format
+ msgid "STO_IMMR (store immediate repeat) %u bytes\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6253
++#: vms-alpha.c:6254
+ #, c-format
+ msgid "STO_GBL (store global) %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6257
++#: vms-alpha.c:6258
+ #, c-format
+ msgid "STO_CA (store code address) %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6261
++#: vms-alpha.c:6262
+ #, c-format
+ msgid "STO_RB (store relative branch)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6264
++#: vms-alpha.c:6265
+ #, c-format
+ msgid "STO_AB (store absolute branch)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6267
++#: vms-alpha.c:6268
+ #, c-format
+ msgid "STO_OFF (store offset to psect)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6273
++#: vms-alpha.c:6274
+ #, c-format
+ msgid "STO_IMM (store immediate) %u bytes\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6280
++#: vms-alpha.c:6281
+ #, c-format
+ msgid "STO_GBL_LW (store global longword) %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6284
++#: vms-alpha.c:6285
+ #, c-format
+ msgid "STO_OFF (store LP with procedure signature)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6287
++#: vms-alpha.c:6288
+ #, c-format
+ msgid "STO_BR_GBL (store branch global) *todo*\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6290
++#: vms-alpha.c:6291
+ #, c-format
+ msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6294
++#: vms-alpha.c:6295
+ #, c-format
+ msgid "OPR_NOP (no-operation)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6297
++#: vms-alpha.c:6298
+ #, c-format
+ msgid "OPR_ADD (add)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6300
++#: vms-alpha.c:6301
+ #, c-format
+ msgid "OPR_SUB (subtract)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6303
++#: vms-alpha.c:6304
+ #, c-format
+ msgid "OPR_MUL (multiply)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6306
++#: vms-alpha.c:6307
+ #, c-format
+ msgid "OPR_DIV (divide)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6309
++#: vms-alpha.c:6310
+ #, c-format
+ msgid "OPR_AND (logical and)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6312
++#: vms-alpha.c:6313
+ #, c-format
+ msgid "OPR_IOR (logical inclusive or)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6315
++#: vms-alpha.c:6316
+ #, c-format
+ msgid "OPR_EOR (logical exclusive or)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6318
++#: vms-alpha.c:6319
+ #, c-format
+ msgid "OPR_NEG (negate)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6321
++#: vms-alpha.c:6322
+ #, c-format
+ msgid "OPR_COM (complement)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6324
++#: vms-alpha.c:6325
+ #, c-format
+ msgid "OPR_INSV (insert field)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6327
++#: vms-alpha.c:6328
+ #, c-format
+ msgid "OPR_ASH (arithmetic shift)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6330
++#: vms-alpha.c:6331
+ #, c-format
+ msgid "OPR_USH (unsigned shift)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6333
++#: vms-alpha.c:6334
+ #, c-format
+ msgid "OPR_ROT (rotate)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6336
++#: vms-alpha.c:6337
+ #, c-format
+ msgid "OPR_SEL (select)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6339
++#: vms-alpha.c:6340
+ #, c-format
+ msgid "OPR_REDEF (redefine symbol to curr location)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6342
++#: vms-alpha.c:6343
+ #, c-format
+ msgid "OPR_REDEF (define a literal)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6346
++#: vms-alpha.c:6347
+ #, c-format
+ msgid "STC_LP (store cond linkage pair)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6350
++#: vms-alpha.c:6351
+ #, c-format
+ msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6352
++#: vms-alpha.c:6353
+ #, c-format
+ msgid "   linkage index: %u, procedure: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6355
++#: vms-alpha.c:6356
+ #, c-format
+ msgid "   signature: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6358
++#: vms-alpha.c:6359
+ #, c-format
+ msgid "STC_GBL (store cond global)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6360
++#: vms-alpha.c:6361
+ #, c-format
+ msgid "   linkage index: %u, global: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6364
++#: vms-alpha.c:6365
+ #, c-format
+ msgid "STC_GCA (store cond code address)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6366
++#: vms-alpha.c:6367
+ #, c-format
+ msgid "   linkage index: %u, procedure name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6370
++#: vms-alpha.c:6371
+ #, c-format
+ msgid "STC_PS (store cond psect + offset)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6373
++#: vms-alpha.c:6374
+ #, c-format
+ msgid "   linkage index: %u, psect: %u, offset: 0x%08x %08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6380
++#: vms-alpha.c:6381
+ #, c-format
+ msgid "STC_NOP_GBL (store cond NOP at global addr)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6384
++#: vms-alpha.c:6385
+ #, c-format
+ msgid "STC_NOP_PS (store cond NOP at psect + offset)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6388
++#: vms-alpha.c:6389
+ #, c-format
+ msgid "STC_BSR_GBL (store cond BSR at global addr)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6392
++#: vms-alpha.c:6393
+ #, c-format
+ msgid "STC_BSR_PS (store cond BSR at psect + offset)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6396
++#: vms-alpha.c:6397
+ #, c-format
+ msgid "STC_LDA_GBL (store cond LDA at global addr)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6400
++#: vms-alpha.c:6401
+ #, c-format
+ msgid "STC_LDA_PS (store cond LDA at psect + offset)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6404
++#: vms-alpha.c:6405
+ #, c-format
+ msgid "STC_BOH_GBL (store cond BOH at global addr)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6408
++#: vms-alpha.c:6409
+ #, c-format
+ msgid "STC_BOH_PS (store cond BOH at psect + offset)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6413
++#: vms-alpha.c:6414
+ #, c-format
+ msgid "STC_NBH_GBL (store cond or hint at global addr)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6417
++#: vms-alpha.c:6418
+ #, c-format
+ msgid "STC_NBH_PS (store cond or hint at psect + offset)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6421
++#: vms-alpha.c:6422
+ #, c-format
+ msgid "CTL_SETRB (set relocation base)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6427
++#: vms-alpha.c:6428
+ #, c-format
+ msgid "CTL_AUGRB (augment relocation base) %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6431
++#: vms-alpha.c:6432
+ #, c-format
+ msgid "CTL_DFLOC (define location)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6434
++#: vms-alpha.c:6435
+ #, c-format
+ msgid "CTL_STLOC (set location)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6437
++#: vms-alpha.c:6438
+ #, c-format
+ msgid "CTL_STKDL (stack defined location)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6440 vms-alpha.c:6864 vms-alpha.c:6990
++#: vms-alpha.c:6441 vms-alpha.c:6865 vms-alpha.c:6991
+ #, c-format
+ msgid "*unhandled*\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6470 vms-alpha.c:6509
++#: vms-alpha.c:6471 vms-alpha.c:6510
+ #, c-format
+ msgid "cannot read GST record length\n"
+ msgstr ""
+ 
+ #. Ill-formed.
+-#: vms-alpha.c:6491
++#: vms-alpha.c:6492
+ #, c-format
+ msgid "cannot find EMH in first GST record\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6517
++#: vms-alpha.c:6518
+ #, c-format
+ msgid "cannot read GST record header\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6530
++#: vms-alpha.c:6531
+ #, c-format
+ msgid " corrupted GST\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6538
++#: vms-alpha.c:6539
+ #, c-format
+ msgid "cannot read GST record\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6567
++#: vms-alpha.c:6568
+ #, c-format
+ msgid " unhandled EOBJ record type %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6591
++#: vms-alpha.c:6592
+ #, c-format
+ msgid "  bitcount: %u, base addr: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6605
++#: vms-alpha.c:6606
+ #, c-format
+ msgid "   bitmap: 0x%08x (count: %u):\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6612
++#: vms-alpha.c:6613
+ #, c-format
+ msgid " %08x"
+ msgstr ""
+ 
+-#: vms-alpha.c:6638
++#: vms-alpha.c:6639
+ #, c-format
+ msgid "  image %u (%u entries)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6644
++#: vms-alpha.c:6645
+ #, c-format
+ msgid "   offset: 0x%08x, val: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6666
++#: vms-alpha.c:6667
+ #, c-format
+ msgid "  image %u (%u entries), offsets:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6673
++#: vms-alpha.c:6674
+ #, c-format
+ msgid " 0x%08x"
+ msgstr ""
+ 
+ #. 64 bits.
+-#: vms-alpha.c:6795
++#: vms-alpha.c:6796
+ #, c-format
+ msgid "64 bits *unhandled*\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6800
++#: vms-alpha.c:6801
+ #, c-format
+ msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6811
++#: vms-alpha.c:6812
+ #, c-format
+ msgid "non-contiguous array of %s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6816
++#: vms-alpha.c:6817
+ #, c-format
+ msgid "dimct: %u, aflags: 0x%02x, digits: %u, scale: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6821
++#: vms-alpha.c:6822
+ #, c-format
+ msgid "arsize: %u, a0: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6825
++#: vms-alpha.c:6826
+ #, c-format
+ msgid "Strides:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6835
++#: vms-alpha.c:6836
+ #, c-format
+ msgid "Bounds:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6841
++#: vms-alpha.c:6842
+ #, c-format
+ msgid "[%u]: Lower: %u, upper: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6853
++#: vms-alpha.c:6854
+ #, c-format
+ msgid "unaligned bit-string of %s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6858
++#: vms-alpha.c:6859
+ #, c-format
+ msgid "base: %u, pos: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6879
++#: vms-alpha.c:6880
+ #, c-format
+ msgid "vflags: 0x%02x, value: 0x%08x "
+ msgstr ""
+ 
+-#: vms-alpha.c:6885
++#: vms-alpha.c:6886
+ #, c-format
+ msgid "(no value)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6888
++#: vms-alpha.c:6889
+ #, c-format
+ msgid "(not active)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6891
++#: vms-alpha.c:6892
+ #, c-format
+ msgid "(not allocated)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6894
++#: vms-alpha.c:6895
+ #, c-format
+ msgid "(descriptor)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6898
++#: vms-alpha.c:6899
+ #, c-format
+ msgid "(trailing value)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6901
++#: vms-alpha.c:6902
+ #, c-format
+ msgid "(value spec follows)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6904
++#: vms-alpha.c:6905
+ #, c-format
+ msgid "(at bit offset %u)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6908
++#: vms-alpha.c:6909
+ #, c-format
+ msgid "(reg: %u, disp: %u, indir: %u, kind: "
+ msgstr ""
+ 
+-#: vms-alpha.c:6915
++#: vms-alpha.c:6916
+ msgid "literal"
+ msgstr ""
+ 
+-#: vms-alpha.c:6918
++#: vms-alpha.c:6919
+ msgid "address"
+ msgstr ""
+ 
+-#: vms-alpha.c:6921
++#: vms-alpha.c:6922
+ msgid "desc"
+ msgstr ""
+ 
+-#: vms-alpha.c:6924
++#: vms-alpha.c:6925
+ msgid "reg"
+ msgstr ""
+ 
+-#: vms-alpha.c:6941
++#: vms-alpha.c:6942
+ #, c-format
+ msgid "len: %2u, kind: %2u "
+ msgstr ""
+ 
+-#: vms-alpha.c:6947
++#: vms-alpha.c:6948
+ #, c-format
+ msgid "atomic, type=0x%02x %s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6951
++#: vms-alpha.c:6952
+ #, c-format
+ msgid "indirect, defined at 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6955
++#: vms-alpha.c:6956
+ #, c-format
+ msgid "typed pointer\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6959
++#: vms-alpha.c:6960
+ #, c-format
+ msgid "pointer\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6967
++#: vms-alpha.c:6968
+ #, c-format
+ msgid "array, dim: %u, bitmap: "
+ msgstr ""
+ 
+-#: vms-alpha.c:6974
++#: vms-alpha.c:6975
+ #, c-format
+ msgid "array descriptor:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6981
++#: vms-alpha.c:6982
+ #, c-format
+ msgid "type spec for element:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:6983
++#: vms-alpha.c:6984
+ #, c-format
+ msgid "type spec for subscript %u:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7001
++#: vms-alpha.c:7002
+ #, c-format
+ msgid "Debug symbol table:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7012
++#: vms-alpha.c:7013
+ #, c-format
+ msgid "cannot read DST header\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7018
++#: vms-alpha.c:7019
+ #, c-format
+ msgid " type: %3u, len: %3u (at 0x%08x): "
+ msgstr ""
+ 
+-#: vms-alpha.c:7032
++#: vms-alpha.c:7033
+ #, c-format
+ msgid "cannot read DST symbol\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7075
++#: vms-alpha.c:7076
+ #, c-format
+ msgid "standard data: %s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7078 vms-alpha.c:7166
++#: vms-alpha.c:7079 vms-alpha.c:7167
+ #, c-format
+ msgid "    name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7085
++#: vms-alpha.c:7086
+ #, c-format
+ msgid "modbeg\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7087
++#: vms-alpha.c:7088
+ #, c-format
+ msgid "   flags: %d, language: %u, major: %u, minor: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7093 vms-alpha.c:7367
++#: vms-alpha.c:7094 vms-alpha.c:7368
+ #, c-format
+ msgid "   module name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7096
++#: vms-alpha.c:7097
+ #, c-format
+ msgid "   compiler   : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7101
++#: vms-alpha.c:7102
+ #, c-format
+ msgid "modend\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7108
++#: vms-alpha.c:7109
+ msgid "rtnbeg\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7110
++#: vms-alpha.c:7111
+ #, c-format
+ msgid "    flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7115
++#: vms-alpha.c:7116
+ #, c-format
+ msgid "    routine name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7123
++#: vms-alpha.c:7124
+ #, c-format
+ msgid "rtnend: size 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7131
++#: vms-alpha.c:7132
+ #, c-format
+ msgid "prolog: bkpt address 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7140
++#: vms-alpha.c:7141
+ #, c-format
+ msgid "epilog: flags: %u, count: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7150
++#: vms-alpha.c:7151
+ #, c-format
+ msgid "blkbeg: address: 0x%08x, name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7159
++#: vms-alpha.c:7160
+ #, c-format
+ msgid "blkend: size: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7165
++#: vms-alpha.c:7166
+ #, c-format
+ msgid "typspec (len: %u)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7172
++#: vms-alpha.c:7173
+ #, c-format
+ msgid "septyp, name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7181
++#: vms-alpha.c:7182
+ #, c-format
+ msgid "recbeg: name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7183
++#: vms-alpha.c:7184
+ #, c-format
+ msgid "    len: %u bits\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7188
++#: vms-alpha.c:7189
+ #, c-format
+ msgid "recend\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7192
++#: vms-alpha.c:7193
+ #, c-format
+ msgid "enumbeg, len: %u, name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7196
++#: vms-alpha.c:7197
+ #, c-format
+ msgid "enumelt, name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7200
++#: vms-alpha.c:7201
+ #, c-format
+ msgid "enumend\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7205
++#: vms-alpha.c:7206
+ #, c-format
+ msgid "label, name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7207
++#: vms-alpha.c:7208
+ #, c-format
+ msgid "    address: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7217
++#: vms-alpha.c:7218
+ #, c-format
+ msgid "discontiguous range (nbr: %u)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7220
++#: vms-alpha.c:7221
+ #, c-format
+ msgid "    address: 0x%08x, size: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7230
++#: vms-alpha.c:7231
+ #, c-format
+ msgid "line num  (len: %u)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7247
++#: vms-alpha.c:7248
+ #, c-format
+ msgid "delta_pc_w %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7254
++#: vms-alpha.c:7255
+ #, c-format
+ msgid "incr_linum(b): +%u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7260
++#: vms-alpha.c:7261
+ #, c-format
+ msgid "incr_linum_w: +%u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7266
++#: vms-alpha.c:7267
+ #, c-format
+ msgid "incr_linum_l: +%u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7272
++#: vms-alpha.c:7273
+ #, c-format
+ msgid "set_line_num(w) %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7277
++#: vms-alpha.c:7278
+ #, c-format
+ msgid "set_line_num_b %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7282
++#: vms-alpha.c:7283
+ #, c-format
+ msgid "set_line_num_l %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7287
++#: vms-alpha.c:7288
+ #, c-format
+ msgid "set_abs_pc: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7291
++#: vms-alpha.c:7292
+ #, c-format
+ msgid "delta_pc_l: +0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7296
++#: vms-alpha.c:7297
+ #, c-format
+ msgid "term(b): 0x%02x"
+ msgstr ""
+ 
+-#: vms-alpha.c:7298
++#: vms-alpha.c:7299
+ #, c-format
+ msgid "        pc: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7303
++#: vms-alpha.c:7304
+ #, c-format
+ msgid "term_w: 0x%04x"
+ msgstr ""
+ 
+-#: vms-alpha.c:7305
++#: vms-alpha.c:7306
+ #, c-format
+ msgid "    pc: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7311
++#: vms-alpha.c:7312
+ #, c-format
+ msgid "delta pc +%-4d"
+ msgstr ""
+ 
+-#: vms-alpha.c:7315
++#: vms-alpha.c:7316
+ #, c-format
+ msgid "    pc: 0x%08x line: %5u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7320
++#: vms-alpha.c:7321
+ #, c-format
+ msgid "    *unhandled* cmd %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7335
++#: vms-alpha.c:7336
+ #, c-format
+ msgid "source (len: %u)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7350
++#: vms-alpha.c:7351
+ #, c-format
+ msgid "   declfile: len: %u, flags: %u, fileid: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7355
++#: vms-alpha.c:7356
+ #, c-format
+ msgid "   rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7364
++#: vms-alpha.c:7365
+ #, c-format
+ msgid "   filename   : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7373
++#: vms-alpha.c:7374
+ #, c-format
+ msgid "   setfile %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7378 vms-alpha.c:7383
++#: vms-alpha.c:7379 vms-alpha.c:7384
+ #, c-format
+ msgid "   setrec %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7388 vms-alpha.c:7393
++#: vms-alpha.c:7389 vms-alpha.c:7394
+ #, c-format
+ msgid "   setlnum %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7398 vms-alpha.c:7403
++#: vms-alpha.c:7399 vms-alpha.c:7404
+ #, c-format
+ msgid "   deflines %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7407
++#: vms-alpha.c:7408
+ #, c-format
+ msgid "   formfeed\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7411
++#: vms-alpha.c:7412
+ #, c-format
+ msgid "   *unhandled* cmd %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7423
++#: vms-alpha.c:7424
+ #, c-format
+ msgid "*unhandled* dst type %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7455
++#: vms-alpha.c:7456
+ #, c-format
+ msgid "cannot read EIHD\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7459
++#: vms-alpha.c:7460
+ #, c-format
+ msgid "EIHD: (size: %u, nbr blocks: %u)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7463
++#: vms-alpha.c:7464
+ #, c-format
+ msgid " majorid: %u, minorid: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7471
++#: vms-alpha.c:7472
+ msgid "executable"
+ msgstr ""
+ 
+-#: vms-alpha.c:7474
++#: vms-alpha.c:7475
+ msgid "linkable image"
+ msgstr ""
+ 
+-#: vms-alpha.c:7481
++#: vms-alpha.c:7482
+ #, c-format
+ msgid " image type: %u (%s)"
+ msgstr ""
+ 
+-#: vms-alpha.c:7487
++#: vms-alpha.c:7488
+ msgid "native"
+ msgstr ""
+ 
+-#: vms-alpha.c:7490
++#: vms-alpha.c:7491
+ msgid "CLI"
+ msgstr ""
+ 
+-#: vms-alpha.c:7497
++#: vms-alpha.c:7498
+ #, c-format
+ msgid ", subtype: %u (%s)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7504
++#: vms-alpha.c:7505
+ #, c-format
+ msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7508
++#: vms-alpha.c:7509
+ #, c-format
+ msgid " fixup info rva: "
+ msgstr ""
+ 
+-#: vms-alpha.c:7510
++#: vms-alpha.c:7511
+ #, c-format
+ msgid ", symbol vector rva: "
+ msgstr ""
+ 
+-#: vms-alpha.c:7513
++#: vms-alpha.c:7514
+ #, c-format
+ msgid ""
+ "\n"
+ " version array off: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7518
++#: vms-alpha.c:7519
+ #, c-format
+ msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7524
++#: vms-alpha.c:7525
+ #, c-format
+ msgid " linker flags: %08x:"
+ msgstr ""
+ 
+-#: vms-alpha.c:7555
++#: vms-alpha.c:7556
+ #, c-format
+ msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7561
++#: vms-alpha.c:7562
+ #, c-format
+ msgid " BPAGE: %u"
+ msgstr ""
+ 
+-#: vms-alpha.c:7568
++#: vms-alpha.c:7569
+ #, c-format
+ msgid ", ext fixup offset: %u, no_opt psect off: %u"
+ msgstr ""
+ 
+-#: vms-alpha.c:7571
++#: vms-alpha.c:7572
+ #, c-format
+ msgid ", alias: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7579
++#: vms-alpha.c:7580
+ #, c-format
+ msgid "system version array information:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7583
++#: vms-alpha.c:7584
+ #, c-format
+ msgid "cannot read EIHVN header\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7593
++#: vms-alpha.c:7594
+ #, c-format
+ msgid "cannot read EIHVN version\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7596
++#: vms-alpha.c:7597
+ #, c-format
+ msgid "   %02u "
+ msgstr ""
+ 
+-#: vms-alpha.c:7600
++#: vms-alpha.c:7601
+ msgid "BASE_IMAGE       "
+ msgstr ""
+ 
+-#: vms-alpha.c:7603
++#: vms-alpha.c:7604
+ msgid "MEMORY_MANAGEMENT"
+ msgstr ""
+ 
+-#: vms-alpha.c:7606
++#: vms-alpha.c:7607
+ msgid "IO               "
+ msgstr ""
+ 
+-#: vms-alpha.c:7609
++#: vms-alpha.c:7610
+ msgid "FILES_VOLUMES    "
+ msgstr ""
+ 
+-#: vms-alpha.c:7612
++#: vms-alpha.c:7613
+ msgid "PROCESS_SCHED    "
+ msgstr ""
+ 
+-#: vms-alpha.c:7615
++#: vms-alpha.c:7616
+ msgid "SYSGEN           "
+ msgstr ""
+ 
+-#: vms-alpha.c:7618
++#: vms-alpha.c:7619
+ msgid "CLUSTERS_LOCKMGR "
+ msgstr ""
+ 
+-#: vms-alpha.c:7621
++#: vms-alpha.c:7622
+ msgid "LOGICAL_NAMES    "
+ msgstr ""
+ 
+-#: vms-alpha.c:7624
++#: vms-alpha.c:7625
+ msgid "SECURITY         "
+ msgstr ""
+ 
+-#: vms-alpha.c:7627
++#: vms-alpha.c:7628
+ msgid "IMAGE_ACTIVATOR  "
+ msgstr ""
+ 
+-#: vms-alpha.c:7630
++#: vms-alpha.c:7631
+ msgid "NETWORKS         "
+ msgstr ""
+ 
+-#: vms-alpha.c:7633
++#: vms-alpha.c:7634
+ msgid "COUNTERS         "
+ msgstr ""
+ 
+-#: vms-alpha.c:7636
++#: vms-alpha.c:7637
+ msgid "STABLE           "
+ msgstr ""
+ 
+-#: vms-alpha.c:7639
++#: vms-alpha.c:7640
+ msgid "MISC             "
+ msgstr ""
+ 
+-#: vms-alpha.c:7642
++#: vms-alpha.c:7643
+ msgid "CPU              "
+ msgstr ""
+ 
+-#: vms-alpha.c:7645
++#: vms-alpha.c:7646
+ msgid "VOLATILE         "
+ msgstr ""
+ 
+-#: vms-alpha.c:7648
++#: vms-alpha.c:7649
+ msgid "SHELL            "
+ msgstr ""
+ 
+-#: vms-alpha.c:7651
++#: vms-alpha.c:7652
+ msgid "POSIX            "
+ msgstr ""
+ 
+-#: vms-alpha.c:7654
++#: vms-alpha.c:7655
+ msgid "MULTI_PROCESSING "
+ msgstr ""
+ 
+-#: vms-alpha.c:7657
++#: vms-alpha.c:7658
+ msgid "GALAXY           "
+ msgstr ""
+ 
+-#: vms-alpha.c:7660
++#: vms-alpha.c:7661
+ msgid "*unknown*        "
+ msgstr ""
+ 
+-#: vms-alpha.c:7676 vms-alpha.c:7951
++#: vms-alpha.c:7677 vms-alpha.c:7952
+ #, c-format
+ msgid "cannot read EIHA\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7679
++#: vms-alpha.c:7680
+ #, c-format
+ msgid "Image activation:  (size=%u)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7682
++#: vms-alpha.c:7683
+ #, c-format
+ msgid " First address : 0x%08x 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7686
++#: vms-alpha.c:7687
+ #, c-format
+ msgid " Second address: 0x%08x 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7690
++#: vms-alpha.c:7691
+ #, c-format
+ msgid " Third address : 0x%08x 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7694
++#: vms-alpha.c:7695
+ #, c-format
+ msgid " Fourth address: 0x%08x 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7698
++#: vms-alpha.c:7699
+ #, c-format
+ msgid " Shared image  : 0x%08x 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7709
++#: vms-alpha.c:7710
+ #, c-format
+ msgid "cannot read EIHI\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7713
++#: vms-alpha.c:7714
+ #, c-format
+ msgid "Image identification: (major: %u, minor: %u)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7716
++#: vms-alpha.c:7717
+ #, c-format
+ msgid " image name       : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7718
++#: vms-alpha.c:7719
+ #, c-format
+ msgid " link time        : %s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7720
++#: vms-alpha.c:7721
+ #, c-format
+ msgid " image ident      : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7722
++#: vms-alpha.c:7723
+ #, c-format
+ msgid " linker ident     : %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7724
++#: vms-alpha.c:7725
+ #, c-format
+ msgid " image build ident: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7734
++#: vms-alpha.c:7735
+ #, c-format
+ msgid "cannot read EIHS\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7738
++#: vms-alpha.c:7739
+ #, c-format
+ msgid "Image symbol & debug table: (major: %u, minor: %u)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7744
++#: vms-alpha.c:7745
+ #, c-format
+ msgid " debug symbol table : vbn: %u, size: %u (0x%x)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7749
++#: vms-alpha.c:7750
+ #, c-format
+ msgid " global symbol table: vbn: %u, records: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7754
++#: vms-alpha.c:7755
+ #, c-format
+ msgid " debug module table : vbn: %u, size: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7767
++#: vms-alpha.c:7768
+ #, c-format
+ msgid "cannot read EISD\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7778
++#: vms-alpha.c:7779
+ #, c-format
+ msgid ""
+ "Image section descriptor: (major: %u, minor: %u, size: %u, offset: %u)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7786
++#: vms-alpha.c:7787
+ #, c-format
+ msgid " section: base: 0x%08x%08x size: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7791
++#: vms-alpha.c:7792
+ #, c-format
+ msgid " flags: 0x%04x"
+ msgstr ""
+ 
+-#: vms-alpha.c:7829
++#: vms-alpha.c:7830
+ #, c-format
+ msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
+ msgstr ""
+ 
+-#: vms-alpha.c:7835
++#: vms-alpha.c:7836
+ msgid "NORMAL"
+ msgstr ""
+ 
+-#: vms-alpha.c:7838
++#: vms-alpha.c:7839
+ msgid "SHRFXD"
+ msgstr ""
+ 
+-#: vms-alpha.c:7841
++#: vms-alpha.c:7842
+ msgid "PRVFXD"
+ msgstr ""
+ 
+-#: vms-alpha.c:7844
++#: vms-alpha.c:7845
+ msgid "SHRPIC"
+ msgstr ""
+ 
+-#: vms-alpha.c:7847
++#: vms-alpha.c:7848
+ msgid "PRVPIC"
+ msgstr ""
+ 
+-#: vms-alpha.c:7850
++#: vms-alpha.c:7851
+ msgid "USRSTACK"
+ msgstr ""
+ 
+-#: vms-alpha.c:7856
++#: vms-alpha.c:7857
+ msgid ")\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7859
++#: vms-alpha.c:7860
+ #, c-format
+ msgid " ident: 0x%08x, name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7869
++#: vms-alpha.c:7870
+ #, c-format
+ msgid "cannot read DMT\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7873
++#: vms-alpha.c:7874
+ #, c-format
+ msgid "Debug module table:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7882
++#: vms-alpha.c:7883
+ #, c-format
+ msgid "cannot read DMT header\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7888
++#: vms-alpha.c:7889
+ #, c-format
+ msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7898
++#: vms-alpha.c:7899
+ #, c-format
+ msgid "cannot read DMT psect\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7902
++#: vms-alpha.c:7903
+ #, c-format
+ msgid "  psect start: 0x%08x, length: %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7915
++#: vms-alpha.c:7916
+ #, c-format
+ msgid "cannot read DST\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7925
++#: vms-alpha.c:7926
+ #, c-format
+ msgid "cannot read GST\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7929
++#: vms-alpha.c:7930
+ #, c-format
+ msgid "Global symbol table:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7958
++#: vms-alpha.c:7959
+ #, c-format
+ msgid "Image activator fixup: (major: %u, minor: %u)\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7962
++#: vms-alpha.c:7963
+ #, c-format
+ msgid "  iaflink : 0x%08x %08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7966
++#: vms-alpha.c:7967
+ #, c-format
+ msgid "  fixuplnk: 0x%08x %08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7969
++#: vms-alpha.c:7970
+ #, c-format
+ msgid "  size : %u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7971
++#: vms-alpha.c:7972
+ #, c-format
+ msgid "  flags: 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7976
++#: vms-alpha.c:7977
+ #, c-format
+ msgid "  qrelfixoff: %5u, lrelfixoff: %5u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7981
++#: vms-alpha.c:7982
+ #, c-format
+ msgid "  qdotadroff: %5u, ldotadroff: %5u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7986
++#: vms-alpha.c:7987
+ #, c-format
+ msgid "  codeadroff: %5u, lpfixoff  : %5u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7989
++#: vms-alpha.c:7990
+ #, c-format
+ msgid "  chgprtoff : %5u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7993
++#: vms-alpha.c:7994
+ #, c-format
+ msgid "  shlstoff  : %5u, shrimgcnt : %5u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7996
++#: vms-alpha.c:7997
+ #, c-format
+ msgid "  shlextra  : %5u, permctx   : %5u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:7999
++#: vms-alpha.c:8000
+ #, c-format
+ msgid "  base_va : 0x%08x\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8001
++#: vms-alpha.c:8002
+ #, c-format
+ msgid "  lppsbfixoff: %5u\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8009
++#: vms-alpha.c:8010
+ #, c-format
+ msgid " Shareable images:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8014
++#: vms-alpha.c:8015
+ #, c-format
+ msgid "  %u: size: %u, flags: 0x%02x, name: %.*s\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8021
++#: vms-alpha.c:8022
+ #, c-format
+ msgid " quad-word relocation fixups:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8026
++#: vms-alpha.c:8027
+ #, c-format
+ msgid " long-word relocation fixups:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8031
++#: vms-alpha.c:8032
+ #, c-format
+ msgid " quad-word .address reference fixups:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8036
++#: vms-alpha.c:8037
+ #, c-format
+ msgid " long-word .address reference fixups:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8041
++#: vms-alpha.c:8042
+ #, c-format
+ msgid " Code Address Reference Fixups:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8046
++#: vms-alpha.c:8047
+ #, c-format
+ msgid " Linkage Pairs Reference Fixups:\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8055
++#: vms-alpha.c:8056
+ #, c-format
+ msgid " Change Protection (%u entries):\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8061
++#: vms-alpha.c:8062
+ #, c-format
+ msgid "  base: 0x%08x %08x, size: 0x%08x, prot: 0x%08x "
+ msgstr ""
+ 
+ #. FIXME: we do not yet support relocatable link.  It is not obvious
+ #. how to do it for debug infos.
+-#: vms-alpha.c:8901
++#: vms-alpha.c:8902
+ msgid "%P: relocatable link is not supported\n"
+ msgstr ""
+ 
+-#: vms-alpha.c:8972
++#: vms-alpha.c:8973
+ #, c-format
+-msgid "%P: multiple entry points: in modules %B and %B\n"
++msgid "%P: multiple entry points: in modules %pB and %pB\n"
+ msgstr ""
+ 
+ #: vms-lib.c:1445
+@@ -8594,7 +8564,7 @@ msgstr ""
+ #: peigen.c:1906 peigen.c:2103 pepigen.c:1906 pepigen.c:2103 pex64igen.c:1906
+ #: pex64igen.c:2103
+ #, c-format
+-msgid "Warning, .pdata section size (%ld) is not a multiple of %d\n"
++msgid "warning, .pdata section size (%ld) is not a multiple of %d\n"
+ msgstr ""
+ 
+ #: peigen.c:1910 peigen.c:2107 pepigen.c:1910 pepigen.c:2107 pex64igen.c:1910
+@@ -8795,82 +8765,92 @@ msgid ""
+ "Characteristics 0x%x\n"
+ msgstr ""
+ 
+-#: peigen.c:2989 pepigen.c:2989 pex64igen.c:2989
++#: peigen.c:2990 pepigen.c:2990 pex64igen.c:2990
+ #, c-format
+-msgid "%B: Data Directory size (%lx) exceeds space left in section (%Lx)"
++msgid ""
++"%pB: Data Directory size (%lx) exceeds space left in section (%<PRIx64>)"
+ msgstr ""
+ 
+-#: peigen.c:3019 pepigen.c:3019 pex64igen.c:3019
+-msgid "Failed to update file offsets in debug directory"
++#: peigen.c:3021 pepigen.c:3021 pex64igen.c:3021
++msgid "failed to update file offsets in debug directory"
+ msgstr ""
+ 
+-#: peigen.c:3025 pepigen.c:3025 pex64igen.c:3025
+-msgid "%B: Failed to read debug data section"
++#: peigen.c:3027 pepigen.c:3027 pex64igen.c:3027
++#, c-format
++msgid "%pB: failed to read debug data section"
+ msgstr ""
+ 
+-#: peigen.c:3841 pepigen.c:3841 pex64igen.c:3841
++#: peigen.c:3843 pepigen.c:3843 pex64igen.c:3843
+ #, c-format
+ msgid ".rsrc merge failure: duplicate string resource: %d"
+ msgstr ""
+ 
+-#: peigen.c:3976 pepigen.c:3976 pex64igen.c:3976
++#: peigen.c:3978 pepigen.c:3978 pex64igen.c:3978
+ msgid ".rsrc merge failure: multiple non-default manifests"
+ msgstr ""
+ 
+-#: peigen.c:3994 pepigen.c:3994 pex64igen.c:3994
++#: peigen.c:3996 pepigen.c:3996 pex64igen.c:3996
+ msgid ".rsrc merge failure: a directory matches a leaf"
+ msgstr ""
+ 
+-#: peigen.c:4036 pepigen.c:4036 pex64igen.c:4036
++#: peigen.c:4038 pepigen.c:4038 pex64igen.c:4038
+ msgid ".rsrc merge failure: duplicate leaf"
+ msgstr ""
+ 
+-#: peigen.c:4038 pepigen.c:4038 pex64igen.c:4038
++#: peigen.c:4040 pepigen.c:4040 pex64igen.c:4040
+ #, c-format
+ msgid ".rsrc merge failure: duplicate leaf: %s"
+ msgstr ""
+ 
+-#: peigen.c:4104 pepigen.c:4104 pex64igen.c:4104
+-msgid ".rsrc merge failure: dirs with differing characteristics\n"
++#: peigen.c:4106 pepigen.c:4106 pex64igen.c:4106
++msgid ".rsrc merge failure: dirs with differing characteristics"
+ msgstr ""
+ 
+-#: peigen.c:4111 pepigen.c:4111 pex64igen.c:4111
+-msgid ".rsrc merge failure: differing directory versions\n"
++#: peigen.c:4113 pepigen.c:4113 pex64igen.c:4113
++msgid ".rsrc merge failure: differing directory versions"
+ msgstr ""
+ 
+ #. Corrupted .rsrc section - cannot merge.
+-#: peigen.c:4228 pepigen.c:4228 pex64igen.c:4228
+-msgid "%B: .rsrc merge failure: corrupt .rsrc section"
++#: peigen.c:4230 pepigen.c:4230 pex64igen.c:4230
++#, c-format
++msgid "%pB: .rsrc merge failure: corrupt .rsrc section"
+ msgstr ""
+ 
+-#: peigen.c:4236 pepigen.c:4236 pex64igen.c:4236
+-msgid "%B: .rsrc merge failure: unexpected .rsrc size"
++#: peigen.c:4238 pepigen.c:4238 pex64igen.c:4238
++#, c-format
++msgid "%pB: .rsrc merge failure: unexpected .rsrc size"
+ msgstr ""
+ 
+-#: peigen.c:4375 pepigen.c:4375 pex64igen.c:4375
+-msgid "%B: unable to fill in DataDictionary[1] because .idata$2 is missing"
++#: peigen.c:4377 pepigen.c:4377 pex64igen.c:4377
++#, c-format
++msgid "%pB: unable to fill in DataDictionary[1] because .idata$2 is missing"
+ msgstr ""
+ 
+-#: peigen.c:4395 pepigen.c:4395 pex64igen.c:4395
+-msgid "%B: unable to fill in DataDictionary[1] because .idata$4 is missing"
++#: peigen.c:4397 pepigen.c:4397 pex64igen.c:4397
++#, c-format
++msgid "%pB: unable to fill in DataDictionary[1] because .idata$4 is missing"
+ msgstr ""
+ 
+-#: peigen.c:4416 pepigen.c:4416 pex64igen.c:4416
+-msgid "%B: unable to fill in DataDictionary[12] because .idata$5 is missing"
++#: peigen.c:4418 pepigen.c:4418 pex64igen.c:4418
++#, c-format
++msgid "%pB: unable to fill in DataDictionary[12] because .idata$5 is missing"
+ msgstr ""
+ 
+-#: peigen.c:4436 pepigen.c:4436 pex64igen.c:4436
++#: peigen.c:4438 pepigen.c:4438 pex64igen.c:4438
++#, c-format
+ msgid ""
+-"%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because ."
++"%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE (12)] because ."
+ "idata$6 is missing"
+ msgstr ""
+ 
+-#: peigen.c:4478 pepigen.c:4478 pex64igen.c:4478
++#: peigen.c:4480 pepigen.c:4480 pex64igen.c:4480
++#, c-format
+ msgid ""
+-"%B: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because ."
++"%pB: unable to fill in DataDictionary[PE_IMPORT_ADDRESS_TABLE(12)] because ."
+ "idata$6 is missing"
+ msgstr ""
+ 
+-#: peigen.c:4503 pepigen.c:4503 pex64igen.c:4503
+-msgid "%B: unable to fill in DataDictionary[9] because __tls_used is missing"
++#: peigen.c:4505 pepigen.c:4505 pex64igen.c:4505
++#, c-format
++msgid "%pB: unable to fill in DataDictionary[9] because __tls_used is missing"
+ msgstr ""
+Index: git/bfd/ChangeLog
+===================================================================
+--- git.orig/bfd/ChangeLog
++++ git/bfd/ChangeLog
+@@ -1,5 +1,9 @@
+ 2018-04-24  Nick Clifton  <nickc@redhat.com>
+ 
++       PR 23110
++       * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Check for
++       a negative PE_DEBUG_DATA size before iterating over the debug data.
++
+        PR 23113
+        * elf.c (ignore_section_sym): Check for the output_section pointer
+        being NULL before dereferencing it.
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* ✗ patchtest: failure for "[SUMO] binutils: Security fix ..." and 11 more
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
                   ` (10 preceding siblings ...)
  2018-08-06 14:29 ` [SUMO][PATCH 12/12] binutls: Security fix CVE-2018-10534 Armin Kuster
@ 2018-08-06 15:06 ` Patchwork
  2018-08-06 17:27 ` [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Khem Raj
  12 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2018-08-06 15:06 UTC (permalink / raw)
  To: Armin Kuster; +Cc: openembedded-core

== Series Details ==

Series: "[SUMO] binutils: Security fix ..." and 11 more
Revision: 1
URL   : https://patchwork.openembedded.org/series/13401/
State : failure

== Summary ==


Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:



* Issue             Added patch file is missing Upstream-Status in the header [test_upstream_status_presence_format] 
  Suggested fix    Add Upstream-Status: <Valid status> to the header of meta/recipes-devtools/binutils/binutils/CVE-2018-8945.patch
  Standard format  Upstream-Status: <Valid status>
  Valid status     Pending, Accepted, Backport, Denied, Inappropriate [reason], Submitted [where]



If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).

---
Guidelines:     https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945
  2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
                   ` (11 preceding siblings ...)
  2018-08-06 15:06 ` ✗ patchtest: failure for "[SUMO] binutils: Security fix ..." and 11 more Patchwork
@ 2018-08-06 17:27 ` Khem Raj
  12 siblings, 0 replies; 14+ messages in thread
From: Khem Raj @ 2018-08-06 17:27 UTC (permalink / raw)
  To: Armin Kuster; +Cc: akuster, Patches and discussions about the oe-core layer

this series is ok. Although a single patch would be ok as well.
On Mon, Aug 6, 2018 at 7:29 AM Armin Kuster <akuster808@gmail.com> wrote:
>
> From: Armin Kuster <akuster@mvista.com>
>
> Affects <= 2.30
>
> Signed-off-by: Armin Kuster <akuster@mvista.com>
> ---
>  meta/recipes-devtools/binutils/binutils-2.30.inc   |  1 +
>  .../binutils/binutils/CVE-2018-8945.patch          | 70 ++++++++++++++++++++++
>  2 files changed, 71 insertions(+)
>  create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2018-8945.patch
>
> diff --git a/meta/recipes-devtools/binutils/binutils-2.30.inc b/meta/recipes-devtools/binutils/binutils-2.30.inc
> index 9c883ac..349fa5a 100644
> --- a/meta/recipes-devtools/binutils/binutils-2.30.inc
> +++ b/meta/recipes-devtools/binutils/binutils-2.30.inc
> @@ -35,6 +35,7 @@ SRC_URI = "\
>       file://0013-fix-the-incorrect-assembling-for-ppc-wait-mnemonic.patch \
>       file://0014-Detect-64-bit-MIPS-targets.patch \
>       file://0015-sync-with-OE-libtool-changes.patch \
> +     file://CVE-2018-8945.patch \
>  "
>  S  = "${WORKDIR}/git"
>
> diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2018-8945.patch b/meta/recipes-devtools/binutils/binutils/CVE-2018-8945.patch
> new file mode 100644
> index 0000000..6a43168
> --- /dev/null
> +++ b/meta/recipes-devtools/binutils/binutils/CVE-2018-8945.patch
> @@ -0,0 +1,70 @@
> +From 95a6d23566165208853a68d9cd3c6eedca840ec6 Mon Sep 17 00:00:00 2001
> +From: Nick Clifton <nickc@redhat.com>
> +Date: Tue, 8 May 2018 12:51:06 +0100
> +Subject: [PATCH] Prevent a memory exhaustion failure when running objdump on a
> + fuzzed input file with corrupt string and attribute sections.
> +
> +       PR 22809
> +       * elf.c (bfd_elf_get_str_section): Check for an excessively large
> +       string section.
> +       * elf-attrs.c (_bfd_elf_parse_attributes): Issue an error if the
> +       attribute section is larger than the size of the file.
> +
> +Upsteram-Status: Backport
> +Affects: Binutils <= 2.30
> +CVE: CVE-2018-8945
> +Signed-off-by: Armin kuster <akuster@mvista.com>
> +---
> + bfd/ChangeLog   | 8 ++++++++
> + bfd/elf-attrs.c | 9 +++++++++
> + bfd/elf.c       | 1 +
> + 3 files changed, 18 insertions(+)
> +
> +Index: git/bfd/elf-attrs.c
> +===================================================================
> +--- git.orig/bfd/elf-attrs.c
> ++++ git/bfd/elf-attrs.c
> +@@ -438,6 +438,15 @@ _bfd_elf_parse_attributes (bfd *abfd, El
> +   /* PR 17512: file: 2844a11d.  */
> +   if (hdr->sh_size == 0)
> +     return;
> ++  if (hdr->sh_size > bfd_get_file_size (abfd))
> ++    {
> ++      /* xgettext:c-format */
> ++      _bfd_error_handler (_("%pB: error: attribute section '%pA' too big: %#llx"),
> ++                        abfd, hdr->bfd_section, (long long) hdr->sh_size);
> ++      bfd_set_error (bfd_error_invalid_operation);
> ++      return;
> ++    }
> ++
> +   contents = (bfd_byte *) bfd_malloc (hdr->sh_size + 1);
> +   if (!contents)
> +     return;
> +Index: git/bfd/elf.c
> +===================================================================
> +--- git.orig/bfd/elf.c
> ++++ git/bfd/elf.c
> +@@ -298,6 +298,7 @@ bfd_elf_get_str_section (bfd *abfd, unsi
> +       /* Allocate and clear an extra byte at the end, to prevent crashes
> +        in case the string table is not terminated.  */
> +       if (shstrtabsize + 1 <= 1
> ++        || shstrtabsize > bfd_get_file_size (abfd)
> +         || bfd_seek (abfd, offset, SEEK_SET) != 0
> +         || (shstrtab = (bfd_byte *) bfd_alloc (abfd, shstrtabsize + 1)) == NULL)
> +       shstrtab = NULL;
> +Index: git/bfd/ChangeLog
> +===================================================================
> +--- git.orig/bfd/ChangeLog
> ++++ git/bfd/ChangeLog
> +@@ -1,3 +1,11 @@
> ++2018-05-08  Nick Clifton  <nickc@redhat.com>
> ++
> ++       PR 22809
> ++       * elf.c (bfd_elf_get_str_section): Check for an excessively large
> ++       string section.
> ++       * elf-attrs.c (_bfd_elf_parse_attributes): Issue an error if the
> ++       attribute section is larger than the size of the file.
> ++
> + 2018-02-07  Alan Modra  <amodra@gmail.com>
> +
> +       Revert 2018-01-17  Alan Modra  <amodra@gmail.com>
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2018-08-06 17:27 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-06 14:29 [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Armin Kuster
2018-08-06 14:29 ` [SUMO][PATCH 02/12] binutls: Security fix CVE-2018-7643 Armin Kuster
2018-08-06 14:29 ` [SUMO][PATCH 03/12] binutls: Security fix CVE-2018-6872 Armin Kuster
2018-08-06 14:29 ` [SUMO][PATCH 04/12] binutls: Security fix CVE-2018-6759 Armin Kuster
2018-08-06 14:29 ` [SUMO][PATCH 05/12] binutls: Security fix CVE-2018-7642 Armin Kuster
2018-08-06 14:29 ` [SUMO][PATCH 06/12] binutls: Security fix CVE-2018-7208 Armin Kuster
2018-08-06 14:29 ` [SUMO][PATCH 07/12] binutls: Security fix CVE-2018-7569 Armin Kuster
2018-08-06 14:29 ` [SUMO][PATCH 08/12] binutls: Security fix CVE-2018-7568 Armin Kuster
2018-08-06 14:29 ` [SUMO][PATCH 09/12] binutls: Security fix CVE-2018-10373 Armin Kuster
2018-08-06 14:29 ` [SUMO][PATCH 10/12] binutls: Security fix CVE-2018-10372 Armin Kuster
2018-08-06 14:29 ` [SUMO][PATCH 11/12] binutls: Security fix CVE-2018-10535 Armin Kuster
2018-08-06 14:29 ` [SUMO][PATCH 12/12] binutls: Security fix CVE-2018-10534 Armin Kuster
2018-08-06 15:06 ` ✗ patchtest: failure for "[SUMO] binutils: Security fix ..." and 11 more Patchwork
2018-08-06 17:27 ` [SUMO][PATCH 01/12] binutils: Security fix CVE-2018-8945 Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.