1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
  24 # Copyright 2012 DEY Storage Systems, Inc.  All rights reserved.
  25 #
  26 
  27 @ _START_
  28 
  29 # Message file for cmd/sgs/elfdump.
  30 
  31 @ MSG_ID_ELFDUMP
  32 
  33 # Usage Messages
  34 
  35 @ MSG_USAGE_BRIEF       "usage: %s [-cCdegGhHiklmnrSsuvy] [-I index] \
  36                          [-N name] [-O osabi] [-T type] [-p | -w outfile] \
  37                          file...\n"
  38 @ MSG_USAGE_DETAIL1     "\t[-c]\t\tdump section header information\n"
  39 @ MSG_USAGE_DETAIL2     "\t[-C]\t\tdemangle C++ symbol names\n"
  40 @ MSG_USAGE_DETAIL3     "\t[-d]\t\tdump the contents of the .dynamic section\n"
  41 @ MSG_USAGE_DETAIL4     "\t[-e]\t\tdump the elf header\n"
  42 @ MSG_USAGE_DETAIL5     "\t[-g]\t\tdump the contents of the .group sections\n"
  43 @ MSG_USAGE_DETAIL6     "\t[-G]\t\tdump the contents of the .got section\n"
  44 @ MSG_USAGE_DETAIL7     "\t[-h]\t\tdump the contents of the .hash section\n"
  45 @ MSG_USAGE_DETAIL8     "\t[-H]\t\tdump the contents of the .SUNW_cap section\n"
  46 @ MSG_USAGE_DETAIL9     "\t[-i]\t\tdump the contents of the .interp section\n"
  47 @ MSG_USAGE_DETAIL10    "\t[-I index]\tqualify an option with an index\n"
  48 @ MSG_USAGE_DETAIL11    "\t[-l]\t\tdump with no truncated section names\n"
  49 @ MSG_USAGE_DETAIL12    "\t[-k]\t\tcalculate elf checksum\n"
  50 @ MSG_USAGE_DETAIL13    "\t[-m]\t\tdump the contents of the .SUNW_move \
  51                          section\n"
  52 @ MSG_USAGE_DETAIL14    "\t[-n]\t\tdump the contents of the .note section\n"
  53 @ MSG_USAGE_DETAIL15    "\t[-N name]\tqualify an option with a `name'\n"
  54 @ MSG_USAGE_DETAIL16    "\t[-O osabi]\tuse given osabi to interpret object\n"
  55 @ MSG_USAGE_DETAIL17    "\t[-P]\t\tuse program headers to generate \
  56                          section headers\n"
  57 @ MSG_USAGE_DETAIL18    "\t[-p]\t\tdump the program headers\n"
  58 @ MSG_USAGE_DETAIL19    "\t[-r]\t\tdump the contents of the relocation \
  59                          sections\n"
  60 @ MSG_USAGE_DETAIL20    "\t[-S]\t\tdump the contents of the sort index \
  61                          sections\n"
  62 @ MSG_USAGE_DETAIL21    "\t[-s]\t\tdump the contents of the symbol table \
  63                          sections\n"
  64 @ MSG_USAGE_DETAIL22    "\t[-T type]\tqualify an option with a section or \
  65                          program header type\n"
  66 @ MSG_USAGE_DETAIL23    "\t[-u]\t\tdump the contents of a frame unwind \
  67                          section\n"
  68 @ MSG_USAGE_DETAIL24    "\t[-v]\t\tdump the contents of the version sections\n"
  69 @ MSG_USAGE_DETAIL25    "\t[-w file]\twrite the contents of specified section \
  70                          to `file'\n"
  71 @ MSG_USAGE_DETAIL26    "\t[-y]\t\tdump the contents of the .SUNW_syminfo \
  72                          section\n"
  73 
  74 # Errors
  75 
  76 @ MSG_ERR_BADFILE       "%s: invalid file type\n"
  77 @ MSG_ERR_BADREL1       "%s: bad relocation entry: %s: relocation requires \
  78                          symbol\n"
  79 @ MSG_ERR_NOSHDR        "%s: section headers are not present: synthesizing \
  80                          from program headers (-P option)\n"
  81 @ MSG_ERR_PNEEDSPH      "%s: file without program headers is incompatible \
  82                          with -P option\n"
  83 @ MSG_ERR_NOSHSTRSEC    "%s: no header string table section (shstrtab). \
  84                          header names are not available\n"
  85 @ MSG_ERR_SHSTRNULL     "%s: zero size section header string table \
  86                          (shstrtab). header names are not available\n"
  87 @ MSG_ERR_FAILURE       "%s: %s failed: %s\n"
  88 @ MSG_ERR_BADSHDRALIGN  "%s: bad section header array alignment\n"
  89 @ MSG_ERR_BADPHDRALIGN  "%s: bad program header array alignment\n"
  90 @ MSG_ERR_BADSHNAME     "%s: section[%d]: invalid sh_name: %lld\n"
  91 @ MSG_ERR_BADSHLINK     "%s: %s: invalid sh_link: %d\n"
  92 @ MSG_ERR_BADSHINFO     "%s: %s: invalid sh_info: %d\n"
  93 @ MSG_ERR_BADSHTYPE     "%s: %s: invalid sh_type: %d\n"
  94 @ MSG_ERR_BADALIGN      "%s: %s: bad sh_offset alignment\n"
  95 @ MSG_ERR_BADSYM2       "%s: %s: index[%d]: bad symbol entry: %s: must be \
  96                          SHN_COMMON or defined in SHT_NOBITS section\n"
  97 @ MSG_ERR_BADSYM3       "%s: %s: index[%d]: bad symbol entry: %s: must be \
  98                          defined in a SHF_TLS section\n"
  99 @ MSG_ERR_BADSYM4       "%s: %s: index[%d]: bad symbol entry: %s: must be \
 100                          defined in a non-SHF_TLS section\n"
 101 @ MSG_ERR_BADSYM5       "%s: %s: index[%d]: bad symbol entry: %s: \
 102                          invalid shndx: %d\n"
 103 @ MSG_ERR_BADSYM6       "%s: %s: index[%d]: bad symbol entry: %s: section[%d] \
 104                          size: %#llx: symbol (address %#llx, size %#llx) \
 105                          lies outside of containing section\n"
 106 @ MSG_ERR_BADSYM7       "%s: %s: index[%d]: suspicious global symbol entry: \
 107                          %s: lies within local symbol range (index < %lld)\n"
 108 @ MSG_ERR_BADSYM8       "%s: %s: index[%d]: suspicious local symbol entry: \
 109                          %s: lies within global symbol range (index >= %lld)\n"
 110 
 111 @ MSG_ERR_RELBADSYMNDX  "%s: bad symbol reference %d: from relocation \
 112                          entry: %d\n"
 113 @ MSG_ERR_HSBADSYMNDX   "%s: bad symbol reference %d: from hash entry: %d\n"
 114 @ MSG_ERR_BADSYMXINDEX1 "%s: %s: index[%d]: invalid SHN_XINDEX reference: \
 115                          SHT_SYMTAB_SHNDX section truncated: no entry for this \
 116                          symbol\n"
 117 @ MSG_ERR_BADSYMXINDEX2 "%s: %s: index[%d]: invalid SHN_XINDEX reference: \
 118                          bad SHT_SYMTAB_SHNDX entry: invalid shndx: 0x%x\n"
 119 @ MSG_ERR_BADSYMXINDEX3 "%s: %s: index[%d]: invalid SHN_XINDEX reference: \
 120                          SHT_SYMTAB_SHNDX section not found\n"
 121 
 122 @ MSG_ERR_BADSTOFF      "%s: %s: index[%d]: bad %s offset: 0x%x: max 0x%x\n"
 123 @ MSG_ERR_BADSZ         "%s: %s: zero size or zero entry size information\n"
 124 @ MSG_ERR_BADMINFO      "%s: %s: invalid m_info: 0x%llx\n"
 125 @ MSG_ERR_BADHASH       "%s: %s: bad hash entry: symbol %s: exists in bucket \
 126                          %d, should be bucket %ld\n"
 127 @ MSG_ERR_NODYNSYM      "%s: %s: associated SHT_DYNSYM section not found\n"
 128 @ MSG_ERR_BADNDXSEC     "%s: %s: unexpected section type associated with \
 129                          index section: %s\n"
 130 @ MSG_ERR_BADSYMNDX     "%s: %s: bad symbol index: %d\n"
 131 @ MSG_ERR_BADVER        "%s: %s: index[%d]: version %d is out of range: \
 132                          version definitions available: 0-%d\n"
 133 @ MSG_ERR_NOTSTRTAB     "%s: section[%d] is not a string table as expected \
 134                          by section[%d]\n";
 135 @ MSG_ERR_BADCHAINIDX   "%s: %s: invalid chain index %d for bucket %d (max %d)\n"
 136 
 137 @ MSG_ERR_LDYNNOTADJ    "%s: bad dynamic symbol table layout: %s and %s \
 138                          sections are not adjacent\n"
 139 @ MSG_ERR_SECMEMOVER    "%s: memory overlap between section[%d]: %s: %llx:%llx \
 140                          and section[%d]: %s: %llx:%llx\n"
 141 @ MSG_ERR_SHDRMEMOVER   "%s: memory overlap between section header table: \
 142                          %llx:%llx and section[%d]: %s: %llx:%llx\n"
 143 @ MSG_ERR_MULTDYN       "%s: %d dynamic sections seen (1 expected)\n"
 144 @ MSG_ERR_DYNNOBCKSEC   "%s: object lacks %s section required by %s dynamic \
 145                          entry\n"
 146 @ MSG_ERR_DYNBADADDR    "%s: %s (%#llx) does not match \
 147                          shdr[%d: %s].sh_addr (%#llx)\n"
 148 @ MSG_ERR_DYNBADSIZE    "%s: %s (%#llx) does not match \
 149                          shdr[%d: %s].sh_size (%#llx)\n"
 150 @ MSG_ERR_DYNBADENTSIZE "%s: %s (%#llx) does not match \
 151                          shdr[%d: %s].sh_entsize (%#llx)\n"
 152 @ MSG_ERR_DYNSYMVAL     "%s: %s: symbol value does not match \
 153                          %s entry: %s: value: %#llx\n"
 154 @ MSG_ERR_MALSTR        "%s: %s: malformed string table, initial or final \
 155                          byte\n"
 156 @ MSG_ERR_MULTEHFRMHDR  "%s: [%d: %s] multiple .eh_frame_hdr sections seen \
 157                          (1 expected)\n"
 158 @ MSG_ERR_BADEHFRMPTR   "%s: section[%d: %s] FramePtr (%#llx) does not match \
 159                          shdr[%d: %s].sh_addr (%#llx)\n"
 160 @ MSG_ERR_BADSORT       "%s: %s: index[%d]: invalid sort order\n"
 161 @ MSG_ERR_BADSIDYNNDX   "%s: [%d: %s][%d]: dynamic section index out of \
 162                          range (0 - %d): %d\n";
 163 @ MSG_ERR_BADSIDYNTAG   "%s: [%d: %s][%d]: dynamic element \
 164                          [%d: %s][%d] should have type %s: %s\n";
 165 @ MSG_ERR_BADCIEFDELEN  "%s: %s: invalid CIE/FDE length: %#llx at %#llx\n"
 166 
 167 
 168 @ MSG_WARN_INVINTERP1   "%s: PT_INTERP header has no associated section\n"
 169 @ MSG_WARN_INVINTERP2   "%s: interp section: %s: and PT_INTERP program \
 170                          header have conflicting size or offsets\n"
 171 @ MSG_WARN_INVCAP1      "%s: PT_SUNWCAP header has no associated section\n"
 172 @ MSG_WARN_INVCAP2      "%s: capabilities section[%d]: %s: requires PT_CAP \
 173                          program header\n"
 174 @ MSG_WARN_INVCAP3      "%s: capabilities section[%d]: %s: and PT_CAP program \
 175                          header have conflicting size or offsets\n"
 176 @ MSG_WARN_INVCAP4      "%s: capabilities section[%d]: %s: requires string \
 177                          table: invalid sh_info: %d\n";
 178 @ MSG_WARN_INADDR32SF1  "%s: capabilities section %s: software capability \
 179                          ADDR32: is ineffective within a 32-bit object\n"
 180 @ MSG_WARN_MULTEHFRM    "%s: section[%d: %s]: %s object has multiple \
 181                         .eh_frame sections\n"
 182 
 183 @ MSG_INFO_LINUXOSABI   "%s: %s object has Linux .note.ABI-tag section. \
 184                         Assuming %s\n"
 185 
 186 @ MSG_ERR_DWOVRFLW      "%s: %s: encoded DWARF data exceeds section size\n"
 187 @ MSG_ERR_DWBADENC      "%s: %s: bad DWARF encoding: %#x\n"
 188 @ MSG_ERR_DWNOCIE       "%s: %s: no CIE prior to FDE\n"
 189 
 190 # exception_range_entry table entries.
 191 # TRANSLATION_NOTE - the following entries provide for a series of one or more
 192 # standard 32-bit and 64-bit .exception_ranges table entries that align with
 193 # the initial title.
 194 
 195 @ MSG_EXR_TITLE_32      "     index    offset     ret_addr   \
 196                          length     handler    type_blk"
 197 @ MSG_EXR_ENTRY_32      "%10.10s  0x%8.8llx 0x%8.8llx 0x%8.8llx 0x%8.8llx \
 198                          0x%8.8llx"
 199 @ MSG_EXR_TITLE_64      "     index    offset             ret_addr           \
 200                          length             handler            type_blk"
 201 @ MSG_EXR_ENTRY_64      "%10.10s  0x%16.16llx 0x%16.16llx 0x%16.16llx \
 202                          0x%16.16llx 0x%16.16llx"
 203 
 204 # Elf Output Messages
 205 
 206 @ MSG_ELF_SHDR          "Section Header[%d]:  sh_name: %s"
 207 @ MSG_ELF_PHDR          "Program Header[%d]:"
 208 
 209 @ MSG_ELF_SCN_CAP       "Capabilities Section:  %s"
 210 @ MSG_ELF_SCN_CAPCHAIN  "Capabilities Chain Section:  %s"
 211 @ MSG_ELF_SCN_INTERP    "Interpreter Section:  %s"
 212 @ MSG_ELF_SCN_VERDEF    "Version Definition Section:  %s"
 213 @ MSG_ELF_SCN_VERNEED   "Version Needed Section:  %s"
 214 @ MSG_ELF_SCN_SYMTAB    "Symbol Table Section:  %s"
 215 @ MSG_ELF_SCN_RELOC     "Relocation Section:  %s"
 216 @ MSG_ELF_SCN_UNWIND    "Unwind Section: %s"
 217 @ MSG_ELF_SCN_DYNAMIC   "Dynamic Section:  %s"
 218 @ MSG_ELF_SCN_NOTE      "Note Section:  %s"
 219 @ MSG_ELF_SCN_HASH      "Hash Section:  %s"
 220 @ MSG_ELF_SCN_SYMINFO   "Syminfo Section:  %s"
 221 @ MSG_ELF_SCN_GOT       "Global Offset Table Section:  %s"
 222 @ MSG_ELF_SCN_GRP       "Group Section:  %s"
 223 @ MSG_ELF_SCN_MOVE      "Move Section:  %s"
 224 @ MSG_ELF_SCN_SYMSORT1  "Symbol Sort Section:  %s (%s)"
 225 @ MSG_ELF_SCN_SYMSORT2  "Symbol Sort Section:  %s (%s / %s)"
 226 
 227 @ MSG_OBJ_CAP_TITLE     " Object Capabilities:"
 228 @ MSG_SYM_CAP_TITLE     " Symbol Capabilities:"
 229 @ MSG_CAPINFO_ENTRIES   "  Symbols:"
 230 @ MSG_CAPCHAIN_TITLE    " Capabilities family: %s"
 231 @ MSG_CAPCHAIN_ENTRY    "  chainndx  symndx      name"
 232 @ MSG_ERR_INVCAP        "%s: capabilities section: %s: contains symbol \
 233                          capabilities groups, but no capabilities information \
 234                          section is defined: invalid sh_link: %d\n"
 235 @ MSG_ERR_INVCAPINFO1   "%s: capabilities information section: %s: no symbol \
 236                          table is defined: invalid sh_link: %d\n"
 237 @ MSG_ERR_INVCAPINFO2   "%s: capabilities information section: %s: no \
 238                          capabilities chain is defined: invalid sh_info: %d\n"
 239 @ MSG_ERR_INVCAPINFO3   "%s: capabilities information section: %s: index %d: \
 240                          bad capabilities chain index defined: %d\n"
 241 @ MSG_ERR_CHBADSYMNDX   "%s: bad symbol reference %d: from capability chain: \
 242                          %s entry: %d\n"
 243 
 244 @ MSG_ELF_HASH_BKTS1    "%10.10s  buckets contain %8d symbols"
 245 @ MSG_ELF_HASH_BKTS2    "%10.10s  buckets         %8d symbols (globals)"
 246 @ MSG_ELF_HASH_INFO     "    bucket  symndx      name"
 247 @ MSG_HASH_OVERFLW      "%s: warning: section %s: too many symbols to count, \
 248                          bucket=%d count=%d"
 249 @ MSG_ELF_ERR_SHDR      "\tunable to obtain section header: shstrtab[%lld]\n"
 250 @ MSG_ELF_ERR_DATA      "\tunable to obtain section data: shstrtab[%lld]\n"
 251 @ MSG_ELF_ERR_SCN       "\tunable to obtain section header: section[%d]\n"
 252 @ MSG_ELF_ERR_SCNDATA   "\tunable to obtain section data: section[%d]\n"
 253 @ MSG_ARCHIVE_SYMTAB_32 "\nSymbol Table: (archive, 32-bit offsets)"
 254 @ MSG_ARCHIVE_SYMTAB_64 "\nSymbol Table: (archive, 64-bit offsets)"
 255 @ MSG_ARCHIVE_FIELDS_32 "     index    offset    member name and symbol"
 256 @ MSG_ARCHIVE_FIELDS_64 "     index    offset            member name and symbol"
 257 
 258 @ MSG_GOT_MULTIPLE      "%s: multiple relocations against \
 259                          the same GOT entry ndx: %d addr: 0x%llx\n"
 260 @ MSG_GOT_UNEXPECTED    "%s: warning: section %s: section unexpected within \
 261                          relocatable object\n"
 262 
 263 # Miscellaneous clutter
 264 
 265 @ MSG_STR_NULL          "(null)"
 266 @ MSG_STR_DEPRECATED    "(deprecated value)"
 267 @ MSG_STR_UNKNOWN       "<unknown>"
 268 @ MSG_STR_SECTION       "%s (section)"
 269 @ MSG_STR_CHECKSUM      "elf checksum: 0x%lx"
 270 
 271 @ MSG_FMT_SCNNDX        "section[%d]"
 272 @ MSG_FMT_NOTEENTNDX    "  entry [%d]";
 273 
 274 
 275 @ MSG_ERR_MALLOC        "%s: malloc: %s\n"
 276 @ MSG_ERR_OPEN          "%s: open: %s\n"
 277 @ MSG_ERR_READ          "%s: read: %s\n"
 278 @ MSG_ERR_WRITE         "%s: write: %s\n"
 279 @ MSG_ERR_BAD_T_SHT     "%s: unrecognized section header type: %s\n"
 280 @ MSG_ERR_BAD_T_PT      "%s: unrecognized program header type: %s\n"
 281 @ MSG_ERR_BAD_T_OSABI   "%s: unrecognized operating system ABI: %s\n"
 282 @ MSG_ERR_AMBIG_MATCH   "%s: ambiguous use of -I, -N, or -T. Remove \
 283                          -p option or section selection option(s)\n"
 284 
 285 #
 286 # SHT_MOVE messages
 287 #
 288 @ MSG_MOVE_TITLE        "    symndx     offset   size repeat stride            \
 289                          value  with respect to"
 290 @ MSG_MOVE_ENTRY        "%10.10s %#10llx %6d %6d %6d %#16llx  %s"
 291 
 292 #
 293 # SHT_GROUP messages
 294 #
 295 @ MSG_GRP_TITLE         "     index    flags / section         signature symbol"
 296 @ MSG_GRP_SIGNATURE     "       [0]   %-24s %s"
 297 @ MSG_GRP_INVALSCN      "<invalid section>"
 298 
 299 #
 300 # SHT_NOTE messages
 301 #
 302 @ MSG_NOTE_BADDATASZ    "%s: %s: note header exceeds section size. \
 303                          offset: 0x%x\n"
 304 @ MSG_NOTE_BADNMSZ      "%s: %s: note name value exceeds section size. \
 305                          offset: 0x%x namesize: 0x%x\n"
 306 @ MSG_NOTE_BADDESZ      "%s: %s: note data size exceeds section size. \
 307                          offset: 0x%x datasize: 0x%x\n"
 308 @ MSG_NOTE_BADCOREARCH  "%s: elfdump core file note support not available for \
 309                          architecture: %s\n"
 310 @ MSG_NOTE_BADCOREDATA  "%s: elfdump core file note data truncated or \
 311                          otherwise malformed\n"
 312 @ MSG_NOTE_BADCORETYPE  "%s: unknown note type %#x\n"
 313 
 314 @ _END_
 315 
 316 # The following strings represent reserved words, files, pathnames and symbols.
 317 # Reference to this strings is via the MSG_ORIG() macro, and thus no message
 318 # translation is required.
 319 
 320 @ MSG_STR_OSQBRKT       "["
 321 @ MSG_STR_CSQBRKT       "]"
 322 
 323 @ MSG_GRP_COMDAT        " COMDAT "
 324 @ MSG_GRP_ENTRY         "%10.10s   %s [%lld]\n"
 325 @ MSG_GRP_UNKNOWN       " 0x%x "
 326 
 327 @ MSG_ELF_GOT           ".got"
 328 @ MSG_ELF_INIT          ".init"
 329 @ MSG_ELF_FINI          ".fini"
 330 @ MSG_ELF_INTERP        ".interp"
 331 
 332 @ MSG_ELF_GETEHDR       "elf_getehdr"
 333 @ MSG_ELF_GETPHDR       "elf_getphdr"
 334 @ MSG_ELF_GETSHDR       "elf_getshdr"
 335 @ MSG_ELF_GETSCN        "elf_getscn"
 336 @ MSG_ELF_GETDATA       "elf_getdata"
 337 @ MSG_ELF_GETARHDR      "elf_getarhdr"
 338 @ MSG_ELF_GETARSYM      "elf_getarsym"
 339 @ MSG_ELF_RAND          "elf_rand"
 340 @ MSG_ELF_BEGIN         "elf_begin"
 341 @ MSG_ELF_GETPHDRNUM    "elf_getphdrnum"
 342 @ MSG_ELF_GETSHDRNUM    "elf_getshdrnum"
 343 @ MSG_ELF_GETSHDRSTRNDX "elf_getshdrstrndx"
 344 @ MSG_ELF_XLATETOM      "elf_xlatetom"
 345 @ MSG_ELF_ARSYM         "ARSYM"
 346 
 347 @ MSG_SYM_INIT          "_init"
 348 @ MSG_SYM_FINI          "_fini"
 349 @ MSG_SYM_GOT           "_GLOBAL_OFFSET_TABLE_"
 350 
 351 @ MSG_STR_OPTIONS       "CcdeGgHhiI:klmN:nO:PprSsT:uvw:y"
 352 
 353 @ MSG_STR_8SP           "        "
 354 @ MSG_STR_EMPTY         ""
 355 @ MSG_STR_CORE          "CORE"
 356 @ MSG_STR_NOTEABITAG    ".note.ABI-tag"
 357 @ MSG_STR_GNU           "GNU"
 358 @ MSG_STR_LOC           "loc"
 359 @ MSG_STR_INITLOC       "initloc"
 360 
 361 @ MSG_FMT_INDENT        "       %s"
 362 @ MSG_FMT_INDEX         " [%lld]"
 363 @ MSG_FMT_INDEX2        "[%d]"
 364 @ MSG_FMT_ASRINDEX      "[ asr%d ]"
 365 @ MSG_FMT_INDEXRNG      "[%d-%d]"
 366 @ MSG_FMT_INTEGER       " %d"
 367 @ MSG_FMT_HASH_INFO     "%10.10s  %-10s  %s"
 368 @ MSG_FMT_CHAIN_INFO    "%10.10s  %-10s  %s"
 369 @ MSG_FMT_ARSYM1_32     "%10.10s  0x%8.8llx  (%s):%s"
 370 @ MSG_FMT_ARSYM2_32     "%10.10s  0x%8.8llx"
 371 @ MSG_FMT_ARSYM1_64     "%10.10s  0x%16.16llx  (%s):%s"
 372 @ MSG_FMT_ARSYM2_64     "%10.10s  0x%16.16llx"
 373 @ MSG_FMT_ARNAME        "%s(%s)"
 374 @ MSG_FMT_NLSTR         "\n%s:"
 375 @ MSG_FMT_NLSTRNL       "\n%s:\n"
 376 @ MSG_FMT_SECSYM        "%.*s%s"
 377 
 378 @ MSG_HEXDUMP_ROW       "%*s%-*s%s"
 379 @ MSG_HEXDUMP_TOK       "%2.2x"
 380 
 381 @ MSG_SUNW_OST_SGS      "SUNW_OST_SGS"
 382 
 383 # Unwind info
 384 
 385 @ MSG_SCN_FRM           ".eh_frame"
 386 @ MSG_SCN_FRMHDR        ".eh_frame_hdr"
 387 @ MSG_SCN_EXRANGE       ".exception_ranges"
 388 
 389 @ MSG_UNW_FRMHDR        "Frame Header:"
 390 @ MSG_UNW_FRMVERS       "  Version: %d"
 391 @ MSG_UNW_FRPTRENC      "  FramePtrEnc: %-20s  FramePtr: %#llx"
 392 @ MSG_UNW_FDCNENC       "  FdeCntEnc:   %-20s  FdeCnt: %lld"
 393 @ MSG_UNW_TABENC        "  TableEnc:    %-20s"
 394 @ MSG_UNW_BINSRTAB1     "  Binary Search Table:"
 395 @ MSG_UNW_BINSRTAB2_32  "      InitialLoc    FdeLoc"
 396 @ MSG_UNW_BINSRTAB2_64  "      InitialLoc          FdeLoc"
 397 @ MSG_UNW_BINSRTABENT_32 "    0x%08llx    0x%08llx"
 398 @ MSG_UNW_BINSRTABENT_64 "    0x%016llx  0x%016llx"
 399 @ MSG_UNW_ZEROTERM      "ZERO terminator: [0x00000000]"
 400 @ MSG_UNW_CIE           "CIE: [%#llx]"
 401 @ MSG_UNW_CIELNGTH      " length: 0x%02x cieid: %d"
 402 @ MSG_UNW_CIEVERS       " version: %d  augmentation: `%s'"
 403 @ MSG_UNW_CIECALGN      " codealign: %#llx  dataalign: %lld  \
 404                           retaddr: %d"
 405 @ MSG_UNW_CIEAXVAL      " Augmentation Data:"
 406 @ MSG_UNW_CIEAXSIZ      "   size: %lld"
 407 @ MSG_UNW_CIEAXPERS     "   personality:"
 408 @ MSG_UNW_CIEAXPERSENC  "       encoding: 0x%02x %s"
 409 @ MSG_UNW_CIEAXPERSRTN  "       routine:  %#08llx"
 410 @ MSG_UNW_CIEAXCENC     "   code pointer encoding: 0x%02x %s"
 411 @ MSG_UNW_CIEAXLSDA     "   lsda encoding: 0x%02x %s"
 412 @ MSG_UNW_CIEAXUNEC     "   Unexpected aug val: %c"
 413 @ MSG_UNW_CIECFI        " CallFrameInstructions:"
 414 
 415 @ MSG_UNW_FDE           " FDE: [%#llx]"
 416 @ MSG_UNW_FDELNGTH      "    length:  %#x  cieptr: %#x"
 417 @ MSG_UNW_FDEINITLOC    "    initloc: %#llx  addrrange: %#llx  endloc: %#llx"
 418 @ MSG_UNW_FDEAXVAL      "   Augmentation Data:"
 419 @ MSG_UNW_FDEAXSIZE     "      size: %#llx"
 420 @ MSG_UNW_FDEAXLSDA     "      lsda: %#llx"
 421 @ MSG_UNW_FDECFI        "   CallFrameInstructions:"
 422 
 423 # Unwind section Call Frame Instructions. These all start with a leading
 424 # "%*s%s", used to insert leading white space and the opcode name.
 425 
 426 @ MSG_CFA_ADV_LOC       "%*s%s: %s + %llu => %#llx"
 427 @ MSG_CFA_CFAOFF        "%*s%s: %s, cfa%+lld"
 428 @ MSG_CFA_CFASET        "%*s%s: cfa=%#llx"
 429 @ MSG_CFA_LLD           "%*s%s: %lld"
 430 @ MSG_CFA_LLU           "%*s%s: %llu"
 431 @ MSG_CFA_REG           "%*s%s: %s"
 432 @ MSG_CFA_REG_OFFLLD    "%*s%s: %s, offset=%lld"
 433 @ MSG_CFA_REG_OFFLLU    "%*s%s: %s, offset=%llu"
 434 @ MSG_CFA_REG_REG       "%*s%s: %s, %s"
 435 @ MSG_CFA_SIMPLE        "%*s%s"
 436 @ MSG_CFA_SIMPLEREP     "%*s%s [%d]"
 437 @ MSG_CFA_EBLK          "%*s%s: expr(%llu bytes)"
 438 @ MSG_CFA_REG_EBLK      "%*s%s: %s, expr(%llu bytes)"
 439 
 440 # Architecture specific register name formats
 441 
 442 @ MSG_REG_FMT_BASIC     "r%d"
 443 @ MSG_REG_FMT_NAME      "r%d (%s)"
 444 
 445 
 446 # Note messages
 447 
 448 @ MSG_NOTE_TYPE         "    type:   %#x"
 449 @ MSG_NOTE_TYPE_STR     "    type:   %s"
 450 @ MSG_NOTE_NAMESZ       "    namesz: %#x"
 451 @ MSG_NOTE_NAME         "    name:"
 452 @ MSG_NOTE_DESCSZ       "    descsz: %#x"
 453 
 454 @ MSG_NOTE_DESC                         "    desc:"
 455 @ MSG_CNOTE_DESC_ASRSET_T               "desc: (asrset_t)"
 456 @ MSG_CNOTE_DESC_AUXV_T                 "desc: (auxv_t)"
 457 @ MSG_CNOTE_DESC_CORE_CONTENT_T         "desc: (core_content_t)"
 458 @ MSG_CNOTE_DESC_LWPSINFO_T             "desc: (lwpsinfo_t)"
 459 @ MSG_CNOTE_DESC_LWPSTATUS_T            "desc: (lwpstatus_t)"
 460 @ MSG_CNOTE_DESC_PRCRED_T               "desc: (prcred_t)"
 461 @ MSG_CNOTE_DESC_PRIV_IMPL_INFO_T       "desc: (priv_impl_info_t)"
 462 @ MSG_CNOTE_DESC_PRPRIV_T               "desc: (prpriv_t)"
 463 @ MSG_CNOTE_DESC_PRPSINFO_T             "desc: (prpsinfo_t)"
 464 @ MSG_CNOTE_DESC_PRSTATUS_T             "desc: (prstatus_t)"
 465 @ MSG_CNOTE_DESC_PSINFO_T               "desc: (psinfo_t)"
 466 @ MSG_CNOTE_DESC_PSTATUS_T              "desc: (pstatus_t)"
 467 @ MSG_CNOTE_DESC_STRUCT_UTSNAME         "desc: (struct utsname)"
 468 @ MSG_CNOTE_DESC_PRFDINFO_T             "desc: (prfdinfo_t)"
 469 
 470 
 471 @ MSG_CNOTE_FMT_LINE            "%*s%-*s%s"
 472 @ MSG_CNOTE_FMT_LINE_2UP        "%*s%-*s%-*s%-*s%s"
 473 @ MSG_CNOTE_FMT_D               "%d"
 474 @ MSG_CNOTE_FMT_LLD             "%lld"
 475 @ MSG_CNOTE_FMT_U               "%u"
 476 @ MSG_CNOTE_FMT_LLU             "%llu"
 477 @ MSG_CNOTE_FMT_X               "%#x"
 478 @ MSG_CNOTE_FMT_LLX             "%#llx"
 479 @ MSG_CNOTE_FMT_Z2X             "0x%2.2x"
 480 @ MSG_CNOTE_FMT_Z4X             "0x%4.4x"
 481 @ MSG_CNOTE_FMT_Z8X             "0x%8.8x"
 482 @ MSG_CNOTE_FMT_Z16LLX          "0x%16.16llx"
 483 @ MSG_CNOTE_FMT_TITLE           "%*s%s"
 484 @ MSG_CNOTE_FMT_AUXVLINE        "%*s%10.10s  %-*s  %s"
 485 @ MSG_CNOTE_FMT_PRTPCT          "%u.%u%%"
 486 
 487 @ MSG_CNOTE_T_PRIV_FLAGS                "priv_flags:"
 488 @ MSG_CNOTE_T_PRIV_GLOBALINFOSIZE       "priv_globalinfosize:"
 489 @ MSG_CNOTE_T_PRIV_HEADERSIZE           "priv_headersize:"
 490 @ MSG_CNOTE_T_PRIV_INFOSIZE             "priv_infosize:"
 491 @ MSG_CNOTE_T_PRIV_MAX                  "priv_max:"
 492 @ MSG_CNOTE_T_PRIV_NSETS                "priv_nsets:"
 493 @ MSG_CNOTE_T_PRIV_SETSIZE              "priv_setsize:"
 494 @ MSG_CNOTE_T_PR_ACTION                 "pr_action:"
 495 @ MSG_CNOTE_T_PR_ADDR                   "pr_addr:"
 496 @ MSG_CNOTE_T_PR_AGENTID                "pr_agentid:"
 497 @ MSG_CNOTE_T_PR_ALTSTACK               "pr_altstack:"
 498 @ MSG_CNOTE_T_PR_ARGC                   "pr_argc:"
 499 @ MSG_CNOTE_T_PR_ARGV                   "pr_argv:"
 500 @ MSG_CNOTE_T_PR_ASLWPID                "pr_aslwpid:"
 501 @ MSG_CNOTE_T_PR_BIND                   "pr_bind:"
 502 @ MSG_CNOTE_T_PR_BINDPRO                "pr_bindpro:"
 503 @ MSG_CNOTE_T_PR_BINDPSET               "pr_bindpset:"
 504 @ MSG_CNOTE_T_PR_BRKBASE                "pr_brkbase:"
 505 @ MSG_CNOTE_T_PR_BRKSIZE                "pr_brksize:"
 506 @ MSG_CNOTE_T_PR_BYRSSIZE               "pr_byrssize:"
 507 @ MSG_CNOTE_T_PR_BYSIZE                 "pr_bysize:"
 508 @ MSG_CNOTE_T_PR_CLNAME                 "pr_clname:"
 509 @ MSG_CNOTE_T_PR_CONTRACT               "pr_contract:"
 510 @ MSG_CNOTE_T_PR_CPU                    "pr_cpu:"
 511 @ MSG_CNOTE_T_PR_CSTIME                 "pr_cstime:"
 512 @ MSG_CNOTE_T_PR_CTIME                  "pr_ctime:"
 513 @ MSG_CNOTE_T_PR_CURSIG                 "pr_cursig:"
 514 @ MSG_CNOTE_T_PR_CUTIME                 "pr_cutime:"
 515 @ MSG_CNOTE_T_PR_DMODEL                 "pr_dmodel:"
 516 @ MSG_CNOTE_T_PR_EGID                   "pr_egid:"
 517 @ MSG_CNOTE_T_PR_ENVP                   "pr_envp:"
 518 @ MSG_CNOTE_T_PR_ERRNO                  "pr_errno:"
 519 @ MSG_CNOTE_T_PR_ERRPRIV                "pr_errpriv:"
 520 @ MSG_CNOTE_T_PR_EUID                   "pr_euid:"
 521 @ MSG_CNOTE_T_PR_FLAG                   "pr_flag:"
 522 @ MSG_CNOTE_T_PR_FLAGS                  "pr_flags:"
 523 @ MSG_CNOTE_T_PR_FLTTRACE               "pr_flttrace:"
 524 @ MSG_CNOTE_T_PR_FNAME                  "pr_fname:"
 525 @ MSG_CNOTE_T_PR_FPREG                  "pr_fpreg:"
 526 @ MSG_CNOTE_T_PR_GID                    "pr_gid:"
 527 @ MSG_CNOTE_T_PR_GROUPS                 "pr_groups:"
 528 @ MSG_CNOTE_T_PR_INFO                   "pr_info:"
 529 @ MSG_CNOTE_T_PR_INFOSIZE               "pr_infosize:"
 530 @ MSG_CNOTE_T_PR_INSTR                  "pr_instr:"
 531 @ MSG_CNOTE_T_PR_LGRP                   "pr_lgrp:"
 532 @ MSG_CNOTE_T_PR_LTTYDEV                "pr_lttydev:"
 533 @ MSG_CNOTE_T_PR_LWP                    "pr_lwp:"
 534 @ MSG_CNOTE_T_PR_LWPHOLD                "pr_lwphold:"
 535 @ MSG_CNOTE_T_PR_LWPID                  "pr_lwpid:"
 536 @ MSG_CNOTE_T_PR_LWPPEND                "pr_lwppend:"
 537 @ MSG_CNOTE_T_PR_NAME                   "pr_name:"
 538 @ MSG_CNOTE_T_PR_NGROUPS                "pr_ngroups:"
 539 @ MSG_CNOTE_T_PR_NICE                   "pr_nice:"
 540 @ MSG_CNOTE_T_PR_NLWP                   "pr_nlwp:"
 541 @ MSG_CNOTE_T_PR_NSETS                  "pr_nsets:"
 542 @ MSG_CNOTE_T_PR_NSYSARG                "pr_nsysarg:"
 543 @ MSG_CNOTE_T_PR_NZOMB                  "pr_nzomb:"
 544 @ MSG_CNOTE_T_PR_OLDCONTEXT             "pr_oldcontext:"
 545 @ MSG_CNOTE_T_PR_OLDPRI                 "pr_oldpri:"
 546 @ MSG_CNOTE_T_PR_ONPRO                  "pr_onpro:"
 547 @ MSG_CNOTE_T_PR_OTTYDEV                "pr_ottydev:"
 548 @ MSG_CNOTE_T_PR_PCTCPU                 "pr_pctcpu:"
 549 @ MSG_CNOTE_T_PR_PCTMEM                 "pr_pctmem:"
 550 @ MSG_CNOTE_T_PR_PGID                   "pr_pgid:"
 551 @ MSG_CNOTE_T_PR_PGRP                   "pr_pgrp:"
 552 @ MSG_CNOTE_T_PR_PID                    "pr_pid:"
 553 @ MSG_CNOTE_T_PR_POOLID                 "pr_poolid:"
 554 @ MSG_CNOTE_T_PR_PPID                   "pr_ppid:"
 555 @ MSG_CNOTE_T_PR_PRI                    "pr_pri:"
 556 @ MSG_CNOTE_T_PR_PROCESSOR              "pr_processor:"
 557 @ MSG_CNOTE_T_PR_PROJID                 "pr_projid:"
 558 @ MSG_CNOTE_T_PR_PSARGS                 "pr_psargs:"
 559 @ MSG_CNOTE_T_PR_REG                    "pr_reg:"
 560 @ MSG_CNOTE_T_PR_RGID                   "pr_rgid:"
 561 @ MSG_CNOTE_T_PR_RSSIZE                 "pr_rssize:"
 562 @ MSG_CNOTE_T_PR_RUID                   "pr_ruid:"
 563 @ MSG_CNOTE_T_PR_RVAL1                  "pr_rval1:"
 564 @ MSG_CNOTE_T_PR_RVAL2                  "pr_rval2:"
 565 @ MSG_CNOTE_T_PR_SETS                   "pr_sets:"
 566 @ MSG_CNOTE_T_PR_SETSIZE                "pr_setsize:"
 567 @ MSG_CNOTE_T_PR_SGID                   "pr_sgid:"
 568 @ MSG_CNOTE_T_PR_SID                    "pr_sid:"
 569 @ MSG_CNOTE_T_PR_SIGHOLD                "pr_sighold:"
 570 @ MSG_CNOTE_T_PR_SIGPEND                "pr_sigpend:"
 571 @ MSG_CNOTE_T_PR_SIGTRACE               "pr_sigtrace:"
 572 @ MSG_CNOTE_T_PR_SIZE                   "pr_size:"
 573 @ MSG_CNOTE_T_PR_SNAME                  "pr_sname:"
 574 @ MSG_CNOTE_T_PR_START                  "pr_start:"
 575 @ MSG_CNOTE_T_PR_STATE                  "pr_state:"
 576 @ MSG_CNOTE_T_PR_STIME                  "pr_stime:"
 577 @ MSG_CNOTE_T_PR_STKBASE                "pr_stkbase:"
 578 @ MSG_CNOTE_T_PR_STKSIZE                "pr_stksize:"
 579 @ MSG_CNOTE_T_PR_STYPE                  "pr_stype:"
 580 @ MSG_CNOTE_T_PR_SUID                   "pr_suid:"
 581 @ MSG_CNOTE_T_PR_SYSARG                 "pr_sysarg:"
 582 @ MSG_CNOTE_T_PR_SYSCALL                "pr_syscall:"
 583 @ MSG_CNOTE_T_PR_SYSENTRY               "pr_sysentry:"
 584 @ MSG_CNOTE_T_PR_SYSEXIT                "pr_sysexit:"
 585 @ MSG_CNOTE_T_PR_TASKID                 "pr_taskid:"
 586 @ MSG_CNOTE_T_PR_TIME                   "pr_time:"
 587 @ MSG_CNOTE_T_PR_TSTAMP                 "pr_tstamp:"
 588 @ MSG_CNOTE_T_PR_TTYDEV                 "pr_ttydev:"
 589 @ MSG_CNOTE_T_PR_UID                    "pr_uid:"
 590 @ MSG_CNOTE_T_PR_USTACK                 "pr_ustack:"
 591 @ MSG_CNOTE_T_PR_UTIME                  "pr_utime:"
 592 @ MSG_CNOTE_T_PR_WCHAN                  "pr_wchan:"
 593 @ MSG_CNOTE_T_PR_WHAT                   "pr_what:"
 594 @ MSG_CNOTE_T_PR_WHO                    "pr_who:"
 595 @ MSG_CNOTE_T_PR_WHY                    "pr_why:"
 596 @ MSG_CNOTE_T_PR_WSTAT                  "pr_wstat:"
 597 @ MSG_CNOTE_T_PR_ZOMB                   "pr_zomb:"
 598 @ MSG_CNOTE_T_PR_ZONEID                 "pr_zoneid:"
 599 @ MSG_CNOTE_T_SA_FLAGS                  "sa_flags:"
 600 @ MSG_CNOTE_T_SA_HANDLER                "sa_handler:"
 601 @ MSG_CNOTE_T_SA_MASK                   "sa_mask:"
 602 @ MSG_CNOTE_T_SA_SIGACTION              "sa_sigaction:"
 603 @ MSG_CNOTE_T_SIVAL_INT                 "sival_int:"
 604 @ MSG_CNOTE_T_SIVAL_PTR                 "sival_ptr:"
 605 @ MSG_CNOTE_T_SI_ADDR                   "si_addr:"
 606 @ MSG_CNOTE_T_SI_BAND                   "si_band:"
 607 @ MSG_CNOTE_T_SI_CODE                   "si_code:"
 608 @ MSG_CNOTE_T_SI_CTID                   "si_ctid:"
 609 @ MSG_CNOTE_T_SI_ENTITY                 "si_entity"
 610 @ MSG_CNOTE_T_SI_ERRNO                  "si_errno:"
 611 @ MSG_CNOTE_T_SI_PID                    "si_pid:"
 612 @ MSG_CNOTE_T_SI_SIGNO                  "si_signo:"
 613 @ MSG_CNOTE_T_SI_STATUS                 "si_status:"
 614 @ MSG_CNOTE_T_SI_UID                    "si_uid:"
 615 @ MSG_CNOTE_T_SI_VALUE                  "si_value:"
 616 @ MSG_CNOTE_T_SI_ZONEID                 "si_zoneid:"
 617 @ MSG_CNOTE_T_SS_FLAGS                  "ss_flags:"
 618 @ MSG_CNOTE_T_SS_SIZE                   "ss_size:"
 619 @ MSG_CNOTE_T_SS_SP                     "ss_sp:"
 620 @ MSG_CNOTE_T_TV_NSEC                   "tv_nsec:"
 621 @ MSG_CNOTE_T_TV_SEC                    "tv_sec:"
 622 @ MSG_CNOTE_T_UTS_MACHINE               "machine:"
 623 @ MSG_CNOTE_T_UTS_NODENAME              "nodename:"
 624 @ MSG_CNOTE_T_UTS_RELEASE               "release:"
 625 @ MSG_CNOTE_T_UTS_SYSNAME               "sysname:"
 626 @ MSG_CNOTE_T_UTS_VERSION               "version:"
 627 @ MSG_CNOTE_T_PR_FD                     "pr_fd:"
 628 @ MSG_CNOTE_T_PR_MODE                   "pr_mode:"
 629 @ MSG_CNOTE_T_PR_PATH                   "pr_path:"
 630 @ MSG_CNOTE_T_PR_MAJOR                  "pr_major:"
 631 @ MSG_CNOTE_T_PR_MINOR                  "pr_minor:"
 632 @ MSG_CNOTE_T_PR_RMAJOR                 "pr_rmajor:"
 633 @ MSG_CNOTE_T_PR_RMINOR                 "pr_rminor:"
 634 @ MSG_CNOTE_T_PR_OFFSET                 "pr_offset:"
 635 @ MSG_CNOTE_T_PR_INO                    "pr_ino:"
 636 @ MSG_CNOTE_T_PR_FILEFLAGS              "pr_fileflags:"
 637 @ MSG_CNOTE_T_PR_FDFLAGS                "pr_fdflags:"
 638 
 639 
 640 # Names of fake sections generated from program header data
 641 @ MSG_PHDRNAM_CAP               ".SUNW_cap(phdr)"
 642 @ MSG_PHDRNAM_CAPINFO           ".SUNW_capinfo(phdr)"
 643 @ MSG_PHDRNAM_CAPCHAIN          ".SUNW_capchain(phdr)"
 644 @ MSG_PHDRNAM_DYN               ".dynamic(phdr)"
 645 @ MSG_PHDRNAM_DYNSTR            ".dynstr(phdr)"
 646 @ MSG_PHDRNAM_DYNSYM            ".dynsym(phdr)"
 647 @ MSG_PHDRNAM_FINIARR           ".fini_array(phdr)"
 648 @ MSG_PHDRNAM_HASH              ".hash(phdr)"
 649 @ MSG_PHDRNAM_INITARR           ".init_array(phdr)"
 650 @ MSG_PHDRNAM_INTERP            ".interp(phdr)"
 651 @ MSG_PHDRNAM_LDYNSYM           ".SUNW_ldynsym(phdr)"
 652 @ MSG_PHDRNAM_MOVE              ".move(phdr)"
 653 @ MSG_PHDRNAM_NOTE              ".note(phdr)"
 654 @ MSG_PHDRNAM_PREINITARR        ".preinit_array(phdr)"
 655 @ MSG_PHDRNAM_REL               ".rel(phdr)"
 656 @ MSG_PHDRNAM_RELA              ".rela(phdr)"
 657 @ MSG_PHDRNAM_SYMINFO           ".syminfo(phdr)"
 658 @ MSG_PHDRNAM_SYMSORT           ".SUNW_symsort(phdr)"
 659 @ MSG_PHDRNAM_TLSSORT           ".SUNW_tlssort(phdr)"
 660 @ MSG_PHDRNAM_UNWIND            ".eh_frame_hdr(phdr)"
 661 @ MSG_PHDRNAM_VER               ".SUNW_version(phdr)"