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