xref: /titanic_51/usr/src/cmd/sgs/elfedit/modules/common/dyn.msg (revision 55ef6355bc6375ad080b10b10660e3528e2b7e6a)
1d29b2c44Sab196087#
2d29b2c44Sab196087# CDDL HEADER START
3d29b2c44Sab196087#
4d29b2c44Sab196087# The contents of this file are subject to the terms of the
5d29b2c44Sab196087# Common Development and Distribution License (the "License").
6d29b2c44Sab196087# You may not use this file except in compliance with the License.
7d29b2c44Sab196087#
8d29b2c44Sab196087# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9d29b2c44Sab196087# or http://www.opensolaris.org/os/licensing.
10d29b2c44Sab196087# See the License for the specific language governing permissions
11d29b2c44Sab196087# and limitations under the License.
12d29b2c44Sab196087#
13d29b2c44Sab196087# When distributing Covered Code, include this CDDL HEADER in each
14d29b2c44Sab196087# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15d29b2c44Sab196087# If applicable, add the following below this CDDL HEADER, with the
16d29b2c44Sab196087# fields enclosed by brackets "[]" replaced with your own identifying
17d29b2c44Sab196087# information: Portions Copyright [yyyy] [name of copyright owner]
18d29b2c44Sab196087#
19d29b2c44Sab196087# CDDL HEADER END
20d29b2c44Sab196087#
21d29b2c44Sab196087
22d29b2c44Sab196087#
23ba2be530Sab196087# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
24d29b2c44Sab196087# Use is subject to license terms.
25d29b2c44Sab196087#
26d29b2c44Sab196087# ident	"%Z%%M%	%I%	%E% SMI"
27d29b2c44Sab196087
28d29b2c44Sab196087
29d29b2c44Sab196087@ _START_
30d29b2c44Sab196087
31d29b2c44Sab196087# Message file for elfedit 'dyn' module
32d29b2c44Sab196087
33d29b2c44Sab196087@ MSG_ID_ELFEDIT_DYN
34d29b2c44Sab196087
35d29b2c44Sab196087
36d29b2c44Sab196087# Strings
37d29b2c44Sab196087@ MSG_STR_DEPRECATED	"(deprecated value)"
38d29b2c44Sab196087
39d29b2c44Sab196087# Debug messages
40d29b2c44Sab196087
41d29b2c44Sab196087@ MSG_DEBUG_S_OK	"[%d: %s][%d]: value unchanged: %s\n"
42d29b2c44Sab196087@ MSG_DEBUG_S_CHG	"[%d: %s][%d]: change from %s to %s\n"
43d29b2c44Sab196087@ MSG_DEBUG_X_OK	"[%d: %s][%d]: value unchanged: %#llx\n"
44d29b2c44Sab196087@ MSG_DEBUG_X_CHG	"[%d: %s][%d]: change from %#llx to %#llx\n"
45d29b2c44Sab196087@ MSG_DEBUG_PREVRPATH	"[%d: %s][%d]: Reusing existing %s entry: %s\n"
46d29b2c44Sab196087@ MSG_DEBUG_OLDRPATHOK	"[%d: %s][%d]: Existing %s already has desired \
47d29b2c44Sab196087			 value\n"
48d29b2c44Sab196087@ MSG_DEBUG_CONVNULL	"[%d: %s][%d]: No existing %s to modify. Converting \
49d29b2c44Sab196087			 extra DT_NULL\n"
50d29b2c44Sab196087@ MSG_DEBUG_DT2NDX	"[%d: %s][%d]: Dynamic entry for tag: %s\n"
51d29b2c44Sab196087@ MSG_DEBUG_NULCLIP	"[%d: %s][%d]: ELF warning: null element will cause \
52d29b2c44Sab196087			 the runtime linker to ignore the non-null \
53d29b2c44Sab196087			 elements that follow: %s\n"
54d29b2c44Sab196087@ MSG_DEBUG_NULHIDE	"[%d: %s][%d]: ELF warning: this non-null element \
55d29b2c44Sab196087			 follows the first DT_NULL element, and will be \
56d29b2c44Sab196087			 ignored by the runtime linker: %s\n"
57d29b2c44Sab196087@ MSG_DEBUG_NULLTERM	"[%d: %s][%d]: ELF warning: dynamic section is \
58d29b2c44Sab196087			 must be terminated by a DT_NULL. The runtime linker \
59d29b2c44Sab196087			 will be unable to use this object: %s\n"
60d29b2c44Sab196087@ MSG_DEBUG_DTNULLVALUE	"[%d: %s][%d]: ELF warning: DT_NULL element value \
61d29b2c44Sab196087			 is expected to be 0: %#llx\n"
62d29b2c44Sab196087
63d29b2c44Sab196087
64d29b2c44Sab196087# Errors
65d29b2c44Sab196087
66d29b2c44Sab196087@ MSG_ERR_NODTELT	"[%d: %s]: Dynamic section does not contain tag: %s\n"
67d29b2c44Sab196087@ MSG_ERR_NOEXTRANULL	"[%d: %s]: Dynamic section does not have room to add \
68d29b2c44Sab196087			 a new element\n"
69d29b2c44Sab196087@ MSG_ERR_NORUNPATH	"[%d: %s]: no runpath (DT_RPATH or DT_RUNPATH) found\n"
70d29b2c44Sab196087@ MSG_ERR_NODYNELT	"[%d: %s]: no elements of type %s found\n"
71d29b2c44Sab196087@ MSG_ERR_STRPADSTRVAL	"[%d: %s]: -s option cannot be used with \
72d29b2c44Sab196087			 DT_SUNW_STRPAD dynamic element\n"
73*55ef6355Sab196087@ MSG_ERR_WRONGTAG	"[%d: %s][%d]: expected %s dynamic element: %s\n"
74*55ef6355Sab196087@ MSG_ERR_NEEDEDNOMATCH	"[%d: %s]: matching DT_NEEDED element not found: %s\n";
75d29b2c44Sab196087
76d29b2c44Sab196087
77d29b2c44Sab196087# Module description
78d29b2c44Sab196087
79d29b2c44Sab196087@ MSG_MOD_DESC		"Dynamic Section"
80d29b2c44Sab196087
81d29b2c44Sab196087
82d29b2c44Sab196087
83d29b2c44Sab196087# 1-line description strings
84d29b2c44Sab196087
85d29b2c44Sab196087@ MSG_DESC_DUMP		"Dump Dynamic Section"
86d29b2c44Sab196087@ MSG_DESC_TAG		"Change element tag"
87d29b2c44Sab196087@ MSG_DESC_VALUE	"Change element value"
88d29b2c44Sab196087@ MSG_DESC_DELETE	"Delete elements"
89d29b2c44Sab196087@ MSG_DESC_MOVE		"Move elements"
90d29b2c44Sab196087@ MSG_DESC_RUNPATH	"Set runpath"
91d29b2c44Sab196087@ MSG_DESC_POSFLAG1	"DT_POSFLAG_1 bit values"
92d29b2c44Sab196087@ MSG_DESC_FLAGS	"DT_FLAGS bit values"
93d29b2c44Sab196087@ MSG_DESC_FLAGS1	"DT_FLAGS_1 bit values"
94d29b2c44Sab196087@ MSG_DESC_FEATURE1	"DT_FEATURE_1 bit values"
95d29b2c44Sab196087@ MSG_DESC_CHECKSUM	"Recompute DT_CHECKSUM"
96ba2be530Sab196087@ MSG_DESC_SUNW_LDMACH	"Linker machine type"
97d29b2c44Sab196087
98d29b2c44Sab196087
99d29b2c44Sab196087# Commmand option description strings
100d29b2c44Sab196087
101d29b2c44Sab196087@ MSG_OPTDESC_ADD	"\
102d29b2c44Sab196087   By default, dyn:value modifies the first element of the\n\
103d29b2c44Sab196087   dynamic section that has the specified tag type, creating\n\
104d29b2c44Sab196087   a new element only if no element of the specified type\n\
105d29b2c44Sab196087   exists, and if room exists in the file. If -add is specified,\n\
106d29b2c44Sab196087   dyn:value will always create a new element for the new value,\n\
107d29b2c44Sab196087   leaving any existing elements with the same tag untouched.\n"
108d29b2c44Sab196087
109d29b2c44Sab196087@ MSG_OPTDESC_S		"\
110d29b2c44Sab196087   Interpret the value argument as a string rather than an\n\
111d29b2c44Sab196087   integer. If the specified string already exists in the dynamic\n\
112d29b2c44Sab196087   string table, the offset of that string is stored in the\n\
113d29b2c44Sab196087   dynamic entry. If the string does not exist in the string table,\n\
114d29b2c44Sab196087   but there is room to add it, the new string is added and then\n\
115d29b2c44Sab196087   the offset is placed in the dynamic entry.\n"
116d29b2c44Sab196087
117*55ef6355Sab196087@ MSG_OPTDESC_DYNNDX_ELT	"\
118d29b2c44Sab196087   Interpret the elt argument as a direct index into the dynamic\n\
119d29b2c44Sab196087   section, rather than as a DT_ tag value.\n"
120d29b2c44Sab196087
121*55ef6355Sab196087@ MSG_OPTDESC_DYNNDX_VAL	"\
122*55ef6355Sab196087   Use the dynamic element with the specified index.\n"
123*55ef6355Sab196087
124*55ef6355Sab196087@ MSG_OPTDESC_NEEDED	"\
125*55ef6355Sab196087   Select the first DT_POSFLAG_1 dynamic element that corresponds\n\
126*55ef6355Sab196087   to the DT_NEEDED element with a value that starts with the\n\
127*55ef6355Sab196087   string given by prefix. If present, the DT_POSFLAG_1 element\n\
128*55ef6355Sab196087   will be in the dynamic element directly in front of the\n\
129*55ef6355Sab196087   DT_NEEDED element.\n"
130*55ef6355Sab196087
131d29b2c44Sab196087
132d29b2c44Sab196087# Command argument description strings
133d29b2c44Sab196087
134d29b2c44Sab196087@ MSG_A1_TAG_ELT	"\
135d29b2c44Sab196087   Dynamic element to be examined or changed. By default, this\n\
136d29b2c44Sab196087   is a DT_ tag value. The index of the first element in the\n\
137d29b2c44Sab196087   dynamic section that has the specified tag value will be used.\n\
138d29b2c44Sab196087   The value specified can be one of the well known DT_ constants,\n\
139d29b2c44Sab196087   or any integer.\n\
140d29b2c44Sab196087   \n\
141d29b2c44Sab196087   If the -dynndx option is specified, elt is instead interpreted\n\
142d29b2c44Sab196087   as a simple integer index into the dynamic section.\n"
143d29b2c44Sab196087
144d29b2c44Sab196087@ MSG_A2_TAG_VALUE	"\
145d29b2c44Sab196087   Value to be set for d_tag field of specified dynamic\n\
146d29b2c44Sab196087   element. Tag values can be specified using the well known\n\
147d29b2c44Sab196087   DT_ symbolic constants from /usr/include/sys/link.h, or\n\
148d29b2c44Sab196087   as integers.\n"
149d29b2c44Sab196087
150d29b2c44Sab196087@ MSG_ARGDESC_ELT	"\
151d29b2c44Sab196087   Element within dynamic section. By default, this is a tag\n\
152d29b2c44Sab196087   value. In this case, the index of the first dynamic element\n\
153d29b2c44Sab196087   with the specified tag value will be used. Tag values can\n\
154d29b2c44Sab196087   be specified using the well known DT_ symbolic constants from\n\
155d29b2c44Sab196087   /usr/include/sys/link.h, or as integers. If the -dynndx\n\
156d29b2c44Sab196087   option is specified, then elt is instead interpreted as a\n\
157d29b2c44Sab196087   direct numeric index into the dynamic section.\n"
158d29b2c44Sab196087
159d29b2c44Sab196087@ MSG_A2_VALUE_VALUE	"\
160d29b2c44Sab196087   Value to set for specified dynamic section element. By\n\
161d29b2c44Sab196087   default, this is a numeric value which is used directly.\n\
162d29b2c44Sab196087   If the -s option is used, this is a string value, and the\n\
163d29b2c44Sab196087   dynamic element will receive the numeric offset of the\n\
164d29b2c44Sab196087   specified string from within the associated dynamic string\n\
165d29b2c44Sab196087   table.\n"
166d29b2c44Sab196087
167d29b2c44Sab196087@ MSG_A2_DELETE_COUNT	"\
168d29b2c44Sab196087   Number of dynamic elements to delete, starting at the\n\
169d29b2c44Sab196087   specified position. This value cannot exceed the number\n\
170d29b2c44Sab196087   of slots remaining in the table below the specified position.\n\
171d29b2c44Sab196087   If count is not supplied, a single element is deleted.\n"
172d29b2c44Sab196087
173d29b2c44Sab196087@ MSG_A2_MOVE_DST_INDEX	"\
174d29b2c44Sab196087   Numeric index within dynamic section to which the element(s)\n\
175d29b2c44Sab196087   should be moved.\n"
176d29b2c44Sab196087
177d29b2c44Sab196087@ MSG_A3_MOVE_COUNT	"\
178d29b2c44Sab196087   Number of dynamic elements to move. This value cannot\n\
179d29b2c44Sab196087   exceed the number of slots remaining in the table below\n\
180d29b2c44Sab196087   the specified position. If count is not supplied, a\n\
181d29b2c44Sab196087   single element is moved.\n"
182d29b2c44Sab196087
183d29b2c44Sab196087@ MSG_A1_RUNPATH_NEWPATH	"\
184d29b2c44Sab196087   New runpath string for the ELF object.\n"
185d29b2c44Sab196087
186d29b2c44Sab196087@ MSG_A1_POSFLAG1_VALUE "\
187d29b2c44Sab196087   Position dependent state flags which are applied to the\n\
188d29b2c44Sab196087   element immediately following. This can be an integer\n\
189d29b2c44Sab196087   value, or any of the DF_P1_ symbolic constants defined\n\
190d29b2c44Sab196087   in /usr/include/sys/link.h\n"
191d29b2c44Sab196087
192d29b2c44Sab196087@ MSG_A1_FLAGS_VALUE	"\
193d29b2c44Sab196087   Flag values. This can be an integer value, or any of the\n\
194d29b2c44Sab196087   DF_ symbolic constants defined in /usr/include/sys/link.h\n"
195d29b2c44Sab196087
196d29b2c44Sab196087@ MSG_A1_FLAGS1_VALUE	"\
197d29b2c44Sab196087   Flag values. This can be an integer value, or any of the\n\
198d29b2c44Sab196087   DF_1_ symbolic constants defined in /usr/include/sys/link.h\n"
199d29b2c44Sab196087
200d29b2c44Sab196087@ MSG_A1_FEATURE1_VALUE	"\
201d29b2c44Sab196087   Feature values. This can be an integer value, or any of\n\
202d29b2c44Sab196087   the DTF_1_ symbolic constants defined in\n\
203d29b2c44Sab196087   /usr/include/sys/link.h\n"
204d29b2c44Sab196087
205ba2be530Sab196087@ MSG_A1_SUNW_LDMACH_VALUE	"\
206ba2be530Sab196087   Machine type of link-editor that built the object being edited.\n\
207ba2be530Sab196087   This can be an integer value, or any of the EM_ symbolic\n\
208ba2be530Sab196087   constants defined in /usr/include/elf.h\n"
209ba2be530Sab196087
210d29b2c44Sab196087
211d29b2c44Sab196087# Help strings
212d29b2c44Sab196087
213d29b2c44Sab196087@ MSG_HELP_DUMP	"   \
214d29b2c44Sab196087   The dyn:dump command is used to display the contents of the\n\
215d29b2c44Sab196087   dynamic section using the same style used by the elfdump program.\n"
216d29b2c44Sab196087
217d29b2c44Sab196087@ MSG_HELP_TAG	"   \
218d29b2c44Sab196087   The dyn:tag command is used to display or alter the\n\
219d29b2c44Sab196087   type of an element in the dynamic section. This information\n\
220d29b2c44Sab196087   is found in the d_tag field of a dynamic element.\n\
221d29b2c44Sab196087   \n\
222d29b2c44Sab196087   If dyn:tag is called without arguments, the value of d_tag\n\
223d29b2c44Sab196087   for every element in the dynamic section is shown. If called\n\
224d29b2c44Sab196087   with the elt argument, the specified elements are displayed.\n\
225d29b2c44Sab196087   If both arguments are present, the d_tag field of the specified\n\
226d29b2c44Sab196087   dynamic element is set to the given value.\n"
227d29b2c44Sab196087
228d29b2c44Sab196087@ MSG_HELP_VALUE	"   \
229d29b2c44Sab196087   The dyn:value command is used to display or alter the\n\
230d29b2c44Sab196087   value of an element in the dynamic section, or to add\n\
231d29b2c44Sab196087   a new element of a desired type. The value of a dynamic\n\
232d29b2c44Sab196087   element is found in the d_un union of the element.\n\
233d29b2c44Sab196087   \n\
234d29b2c44Sab196087   If dyn:value is called without arguments, the value of every\n\
235d29b2c44Sab196087   element in the dynamic section is shown. If called with the\n\
236d29b2c44Sab196087   elt argument, the value of the specified elements are displayed.\n\
237d29b2c44Sab196087   If both arguments are present, the value of the specified\n\
238d29b2c44Sab196087   dynamic element is set to the given value.\n"
239d29b2c44Sab196087
240d29b2c44Sab196087@ MSG_HELP_DELETE	"   \
241d29b2c44Sab196087   The dyn:delete command is used to delete one or more elements\n\
242d29b2c44Sab196087   in the dynamic section. The elements following the deleted\n\
243d29b2c44Sab196087   items move up, and new DT_NULL elements are inserted at the\n\
244d29b2c44Sab196087   end of the dynamic section to fill the vacated space.\n\
245d29b2c44Sab196087   \n\
246d29b2c44Sab196087   Other parts of the ELF object may have dependencies on the\n\
247d29b2c44Sab196087   position and values of existing dynamic elements. Moving or\n\
248d29b2c44Sab196087   deleting dynamic elements can therefore break the object,\n\
249d29b2c44Sab196087   and should be done with caution. Among the potential issues:\n\
250d29b2c44Sab196087   \n\
251d29b2c44Sab196087   o\tDT_POSFLAG_1 has a positional dependency on the item that\n\
252d29b2c44Sab196087   \tfollows it. If that item is removed, the DT_POSFLAG_1 will\n\
253d29b2c44Sab196087   \tapply to the new item that moves below it.\n\
254d29b2c44Sab196087   \n\
255d29b2c44Sab196087   o\tSyminfo sections reference DT_NEEDED elements in the dynamic\n\
256d29b2c44Sab196087   \tsection by index. Moving or deleting such elements will break\n\
257d29b2c44Sab196087   \tthis dependency.\n"
258d29b2c44Sab196087
259d29b2c44Sab196087@ MSG_HELP_MOVE	"   \
260d29b2c44Sab196087   The dyn:move command is used to move the position of one\n\
261d29b2c44Sab196087   or more elements in the dynamic section. The specified\n\
262d29b2c44Sab196087   number of elements are moved from elt to dst_index.\n\
263d29b2c44Sab196087   \n\
264d29b2c44Sab196087   Other parts of the ELF object may have dependencies on the\n\
265d29b2c44Sab196087   position and values of existing dynamic elements. Moving or\n\
266d29b2c44Sab196087   deleting dynamic elements can therefore break the object,\n\
267d29b2c44Sab196087   and should be done with caution. Among the potential issues:\n\
268d29b2c44Sab196087   \n\
269d29b2c44Sab196087   o\tDT_POSFLAG_1 has a positional dependency on the item that\n\
270d29b2c44Sab196087   \tfollows it. If that item is removed, the DT_POSFLAG_1 will\n\
271d29b2c44Sab196087   \tapply to the new item that moves below it.\n\
272d29b2c44Sab196087   \n\
273d29b2c44Sab196087   o\tSyminfo sections reference DT_NEEDED elements in the dynamic\n\
274d29b2c44Sab196087   \tsection by index. Moving or deleting such elements will break\n\
275d29b2c44Sab196087   \tthis dependency.\n"
276d29b2c44Sab196087
277d29b2c44Sab196087@ MSG_HELP_RUNPATH	"   \
278d29b2c44Sab196087   The dyn:runpath command is used to display or alter the\n\
279d29b2c44Sab196087   runpath of the ELF object.\n\
280d29b2c44Sab196087   \n\
281d29b2c44Sab196087   If dyn:runpath is called without arguments, the existing runpath\n\
282d29b2c44Sab196087   is shown. If called with the newpath argument, the runpath is set\n\
283d29b2c44Sab196087   to the given string, if possible.\n\
284d29b2c44Sab196087   \n\
285d29b2c44Sab196087   Not all files can be modified to have a new runpath:\n\
286d29b2c44Sab196087   \n\
287d29b2c44Sab196087   o\tThe desired string must already exist in the dynamic string\n\
288d29b2c44Sab196087   \ttable, or there must be enough room in the reserved section\n\
289d29b2c44Sab196087   \tsection at the end (DT_SUNW_STRPAD) for the new string to be\n\
290d29b2c44Sab196087   \tadded.\n\
291d29b2c44Sab196087   \n\
292d29b2c44Sab196087   o\tThe dynamic section must already have a DT_RPATH or DT_RUNPATH\n\
293d29b2c44Sab196087   \telement, or there must be an extra DT_NULL slot at the end\n\
294d29b2c44Sab196087   \twhere a DT_RUNPATH can be inserted.\n\
295d29b2c44Sab196087   \n\
296d29b2c44Sab196087   If the file has both DT_RPATH and DT_RUNPATH elements in\n\
297d29b2c44Sab196087   the dynamic section, both are set to the new value. If no\n\
298d29b2c44Sab196087   runpath entry exists, a new DT_RUNPATH is inserted if the room\n\
299d29b2c44Sab196087   for it exists.\n"
300d29b2c44Sab196087
301d29b2c44Sab196087@ MSG_HELP_POSFLAG1	"   \
302*55ef6355Sab196087   The dyn:posflag1 command is used to display or alter\n\
303*55ef6355Sab196087   DT_POSFLAG_1 flags values. DT_POSFLAG_1 is a positional\n\
304*55ef6355Sab196087   dynamic element that affects the interpretation of the item\n\
305*55ef6355Sab196087   that follows it. Therefore, when displaying DT_POSFLAG_1 elements\n\
306*55ef6355Sab196087   using the default output style, dyn:posflag1 also displays the\n\
307*55ef6355Sab196087   dynamic element that follows it.\n\
308d29b2c44Sab196087   \n\
309d29b2c44Sab196087   If dyn:posflag1 is called without arguments, the current\n\
310*55ef6355Sab196087   value of all DT_POSFLAG_1 elements are shown. It is possible\n\
311*55ef6355Sab196087   to display the value of a single specific DT_POSFLAG_1 element\n\
312*55ef6355Sab196087   by using the -dynndx or -needed option to specify it.\n\
313*55ef6355Sab196087   \n\
314*55ef6355Sab196087   If one or more value arguments are present, the default is to\n\
315*55ef6355Sab196087   modify the first DT_POSFLAG_1 element. The -dynndx or -needed\n\
316*55ef6355Sab196087   option can be used to specify a specific DT_POSFLAG_1_element\n\
317*55ef6355Sab196087   instead. The following steps are taken to compute the new value:\n\
318d29b2c44Sab196087   \n   \
319d29b2c44Sab196087   o\tAll the value arguments are OR'd together.\n\
320d29b2c44Sab196087   \n   \
321d29b2c44Sab196087   o\tIf the -cmp option has been specified, the new value\n\
322d29b2c44Sab196087   \tis complemented.\n\
323d29b2c44Sab196087   \n   \
324*55ef6355Sab196087   o\tThe DT_POSFLAG_1 element is updated with the new value.\n\
325*55ef6355Sab196087   \tIf -and is specified, the new value is AND'd against the\n\
326*55ef6355Sab196087   \texisting value. If -or is specified, the new value is OR'd\n\
327*55ef6355Sab196087   \tagainst the existing value. If neither -and or -or are\n\
328*55ef6355Sab196087   \tspecified, the new value replaces the existing value.\n\
329d29b2c44Sab196087   \n\
330*55ef6355Sab196087   A new DT_POSFLAG_1 element is inserted in the dynamic section\n\
331*55ef6355Sab196087   when all of the following are true:\n\
332*55ef6355Sab196087   \n   \
333*55ef6355Sab196087   o\tOne or more value arguments are present.\n\
334*55ef6355Sab196087   \n   \
335*55ef6355Sab196087   o\tThe -dynndx and -needed options are not used.\n\
336*55ef6355Sab196087   \n   \
337*55ef6355Sab196087   o\tThe current dynamic section does not have a current\n\
338*55ef6355Sab196087   \tDT_POSFLAG_1 element.\n\
339*55ef6355Sab196087   \n   \
340*55ef6355Sab196087   o\tThere is available space at the end of the dynamic section.\n"
341d29b2c44Sab196087
342d29b2c44Sab196087@ MSG_HELP_FLAGS	"   \
343d29b2c44Sab196087   The dyn:flags command is used to display or alter the\n\
344d29b2c44Sab196087   value of the DT_FLAGS dynamic element.\n\
345d29b2c44Sab196087   \n\
346d29b2c44Sab196087   If dyn:flags is called without arguments, the current\n\
347d29b2c44Sab196087   value is shown. If one or more value arguments are present,\n\
348d29b2c44Sab196087   the following steps are taken:\n\
349d29b2c44Sab196087   \n   \
350d29b2c44Sab196087   o\tAll the value arguments are OR'd together.\n\
351d29b2c44Sab196087   \n   \
352d29b2c44Sab196087   o\tIf the -cmp option has been specified, the new value\n\
353d29b2c44Sab196087   \tis complemented.\n\
354d29b2c44Sab196087   \n   \
355d29b2c44Sab196087   o\tThe DT_FLAGS element of the dynamic section is updated\n\
356d29b2c44Sab196087   \twith the new value. If -and is specified, the new value is\n\
357d29b2c44Sab196087   \tAND'd against the existing value. If -or is specified,\n\
358d29b2c44Sab196087   \tthe new value is OR'd against the existing value. If\n\
359d29b2c44Sab196087   \tneither -and or -or are specified, the new value replaces\n\
360d29b2c44Sab196087   \tthe existing value.\n\
361d29b2c44Sab196087   \n\
362d29b2c44Sab196087   If the current dynamic section does not have a current\n\
363d29b2c44Sab196087   DT_FLAGS element, and room for it exists at the end\n\
364d29b2c44Sab196087   of the section, a new one is inserted.\n"
365d29b2c44Sab196087
366d29b2c44Sab196087@ MSG_HELP_FLAGS1	"   \
367d29b2c44Sab196087   The dyn:flags1 command is used to display or alter the\n\
368d29b2c44Sab196087   value of the DT_FLAGS_1 dynamic element.\n\
369d29b2c44Sab196087   \n\
370d29b2c44Sab196087   If dyn:flags1 is called without arguments, the current\n\
371d29b2c44Sab196087   value is shown. If one or more value arguments are present,\n\
372d29b2c44Sab196087   the following steps are taken:\n\
373d29b2c44Sab196087   \n   \
374d29b2c44Sab196087   o\tAll the value arguments are OR'd together.\n\
375d29b2c44Sab196087   \n   \
376d29b2c44Sab196087   o\tIf the -cmp option has been specified, the new value\n\
377d29b2c44Sab196087   \tis complemented.\n\
378d29b2c44Sab196087   \n   \
379d29b2c44Sab196087   o\tThe DT_FLAGS_1 element of the dynamic section is updated\n\
380d29b2c44Sab196087   \twith the new value. If -and is specified, the new value is\n\
381d29b2c44Sab196087   \tAND'd against the existing value. If -or is specified,\n\
382d29b2c44Sab196087   \tthe new value is OR'd against the existing value. If\n\
383d29b2c44Sab196087   \tneither -and or -or are specified, the new value replaces\n\
384d29b2c44Sab196087   \tthe existing value.\n\
385d29b2c44Sab196087   \n\
386d29b2c44Sab196087   If the current dynamic section does not have a current\n\
387d29b2c44Sab196087   DT_FLAGS_1 element, and room for it exists at the end\n\
388d29b2c44Sab196087   of the section, a new one is inserted.\n"
389d29b2c44Sab196087
390d29b2c44Sab196087@ MSG_HELP_FEATURE1	"   \
391d29b2c44Sab196087   The dyn:feature1 command is used to display or alter the\n\
392d29b2c44Sab196087   value of the DT_FEATURE_1 dynamic element.\n\
393d29b2c44Sab196087   \n\
394d29b2c44Sab196087   If dyn:feature1 is called without arguments, the current\n\
395d29b2c44Sab196087   value is shown. If one or more value arguments are present,\n\
396d29b2c44Sab196087   the following steps are taken:\n\
397d29b2c44Sab196087   \n   \
398d29b2c44Sab196087   o\tAll the value arguments are OR'd together.\n\
399d29b2c44Sab196087   \n   \
400d29b2c44Sab196087   o\tIf the -cmp option has been specified, the new value\n\
401d29b2c44Sab196087   \tis complemented.\n\
402d29b2c44Sab196087   \n   \
403d29b2c44Sab196087   o\tThe DT_FEATURE_1 element of the dynamic section is updated\n\
404d29b2c44Sab196087   \twith the new value. If -and is specified, the new value is\n\
405d29b2c44Sab196087   \tAND'd against the existing value. If -or is specified,\n\
406d29b2c44Sab196087   \tthe new value is OR'd against the existing value. If\n\
407d29b2c44Sab196087   \tneither -and or -or are specified, the new value replaces\n\
408d29b2c44Sab196087   \tthe existing value.\n\
409d29b2c44Sab196087   \n\
410d29b2c44Sab196087   If the current dynamic section does not have a current\n\
411d29b2c44Sab196087   DT_FEATURE_1 element, and room for it exists at the end\n\
412d29b2c44Sab196087   of the section, a new one is inserted.\n"
413d29b2c44Sab196087
414d29b2c44Sab196087@ MSG_HELP_CHECKSUM	"   \
415d29b2c44Sab196087   The dyn:checksum command recomputes the value of the DT_CHECKSUM\n\
416d29b2c44Sab196087   dynamic element. It calls the elf32_checksum() for 32-bit objects,\n\
417d29b2c44Sab196087   or elf64_checksum() for 64-bit objects, and then sets the value of\n\
418d29b2c44Sab196087   the DT_CHECKSUM element to the resulting value.\n\
419d29b2c44Sab196087   \n\
420d29b2c44Sab196087   If the current dynamic section does not have a current\n\
421d29b2c44Sab196087   DT_CHECKSUM element, and room for it exists at the end\n\
422d29b2c44Sab196087   of the section, a new one is inserted.\n"
423d29b2c44Sab196087
424ba2be530Sab196087@ MSG_HELP_SUNW_LDMACH	"   \
425ba2be530Sab196087   The dyn:sunw_ldmach command is used to display or alter the\n\
426ba2be530Sab196087   DT_SUNW_LDMACH dynamic element of the ELF object. This dynamic\n\
427ba2be530Sab196087   element records the ELF machine type of the link-editor that produced\n\
428ba2be530Sab196087   the object. This is of special interest if the object was built\n\
429ba2be530Sab196087   by a cross link-editor instead of being linked on a machine of the\n\
430ba2be530Sab196087   same type as the object.\n\
431ba2be530Sab196087   \n\
432ba2be530Sab196087   If dyn:sunw_ldmach is called without arguments, the current\n\
433ba2be530Sab196087   value is shown. If called with the value argument, the\n\
434ba2be530Sab196087   DT_SUNW_LDMACH dynamic element is set to the specified machine type.\n\
435ba2be530Sab196087   \n\
436ba2be530Sab196087   If the current dynamic section does not have a current\n\
437ba2be530Sab196087   DT_SUNW_LDMACH element, and room for it exists at the end\n\
438ba2be530Sab196087   of the section, a new one is inserted.\n"
439ba2be530Sab196087
440d29b2c44Sab196087@ _END_
441d29b2c44Sab196087
442d29b2c44Sab196087
443d29b2c44Sab196087# The following strings represent reserved words, files, pathnames and symbols.
444d29b2c44Sab196087# Reference to this strings is via the MSG_ORIG() macro, and thus no message
445d29b2c44Sab196087# translation is required.
446d29b2c44Sab196087
447d29b2c44Sab196087
448d29b2c44Sab196087# Strings
449d29b2c44Sab196087@ MSG_STR_EMPTY		""
450d29b2c44Sab196087@ MSG_STR_COUNT		"count"
451d29b2c44Sab196087@ MSG_STR_ELT		"elt"
452d29b2c44Sab196087@ MSG_STR_DST_INDEX	"dst_index"
453*55ef6355Sab196087@ MSG_STR_INDEX		"index"
454d29b2c44Sab196087@ MSG_STR_MINUS_ADD	"-add"
455d29b2c44Sab196087@ MSG_STR_MINUS_DYNNDX	"-dynndx"
456*55ef6355Sab196087@ MSG_STR_MINUS_NEEDED	"-needed"
457d29b2c44Sab196087@ MSG_STR_MINUS_S	"-s"
458d29b2c44Sab196087@ MSG_STR_NEWPATH	"newpath"
459*55ef6355Sab196087@ MSG_STR_PREFIX	"prefix"
460d29b2c44Sab196087@ MSG_STR_VALUE		"value"
461d29b2c44Sab196087
462d29b2c44Sab196087# Format strings
463d29b2c44Sab196087@ MSG_FMT_STRNL		"%s\n"
464d29b2c44Sab196087@ MSG_FMT_HEXXWORDNL	"%#llx\n"
465d29b2c44Sab196087
466d29b2c44Sab196087
467d29b2c44Sab196087# Module name
468d29b2c44Sab196087
469d29b2c44Sab196087@ MSG_MOD_NAME		"dyn"
470d29b2c44Sab196087
471d29b2c44Sab196087
472d29b2c44Sab196087# Command names
473d29b2c44Sab196087
474d29b2c44Sab196087@ MSG_CMD_DUMP		"dump"
475d29b2c44Sab196087@ MSG_CMD_TAG		"tag"
476d29b2c44Sab196087@ MSG_CMD_VALUE		"value"
477d29b2c44Sab196087@ MSG_CMD_DELETE	"delete"
478d29b2c44Sab196087@ MSG_CMD_MOVE		"move"
479d29b2c44Sab196087@ MSG_CMD_RUNPATH	"runpath"
480d29b2c44Sab196087@ MSG_CMD_RUNPATH_A1	"rpath"
481d29b2c44Sab196087@ MSG_CMD_POSFLAG1	"posflag1"
482d29b2c44Sab196087@ MSG_CMD_FLAGS		"flags"
483d29b2c44Sab196087@ MSG_CMD_FLAGS1	"flags1"
484d29b2c44Sab196087@ MSG_CMD_FEATURE1	"feature1"
485d29b2c44Sab196087@ MSG_CMD_CHECKSUM	"checksum"
486ba2be530Sab196087@ MSG_CMD_SUNW_LDMACH	"sunw_ldmach"
487