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: <= 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
@@ -6119,1961 +6119,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
@@ -8537,7 +8508,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
Index: git/bfd/ChangeLog
===================================================================
--- git.orig/bfd/ChangeLog
+++ git/bfd/ChangeLog
@@ -1,3 +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.
+
 2018-04-17  Nick Clifton  <nickc@redhat.com>
 
        PR 23065
