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