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