Home | History | Annotate | Download | only in common
      1  5088  ab196087 #
      2  5088  ab196087 # CDDL HEADER START
      3  5088  ab196087 #
      4  5088  ab196087 # The contents of this file are subject to the terms of the
      5  5088  ab196087 # Common Development and Distribution License (the "License").
      6  5088  ab196087 # You may not use this file except in compliance with the License.
      7  5088  ab196087 #
      8  5088  ab196087 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9  5088  ab196087 # or http://www.opensolaris.org/os/licensing.
     10  5088  ab196087 # See the License for the specific language governing permissions
     11  5088  ab196087 # and limitations under the License.
     12  5088  ab196087 #
     13  5088  ab196087 # When distributing Covered Code, include this CDDL HEADER in each
     14  5088  ab196087 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15  5088  ab196087 # If applicable, add the following below this CDDL HEADER, with the
     16  5088  ab196087 # fields enclosed by brackets "[]" replaced with your own identifying
     17  5088  ab196087 # information: Portions Copyright [yyyy] [name of copyright owner]
     18  5088  ab196087 #
     19  5088  ab196087 # CDDL HEADER END
     20  5088  ab196087 #
     21  5088  ab196087 
     22  5088  ab196087 #
     23  9085       Ali # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     24  5088  ab196087 # Use is subject to license terms.
     25  5088  ab196087 #
     26  5088  ab196087 
     27  5088  ab196087 @ _START_
     28  5088  ab196087 
     29  5088  ab196087 # Message file for cmd/sgs/elfedit.
     30  5088  ab196087 
     31  5088  ab196087 @ MSG_ID_ELFEDIT
     32  5088  ab196087 
     33  5088  ab196087 
     34  5088  ab196087 # Usage Messages
     35  5088  ab196087 
     36  5088  ab196087 @ MSG_USAGE_BRIEF	"usage: elfedit [-adrw] [-e cmd] [-L modpath] \
     37  5088  ab196087 			 [-o style] [file] [outfile]\n"
     38  5088  ab196087 @ MSG_USAGE_DETAIL1	"\t[-a]          Autoprint (show edit results)\n"
     39  5088  ab196087 @ MSG_USAGE_DETAIL2	"\t[-d]          Issue messages describing internal \
     40  5088  ab196087 			 operations\n"
     41  5088  ab196087 @ MSG_USAGE_DETAIL3	"\t[-e cmd]      edit command\n"
     42  5088  ab196087 @ MSG_USAGE_DETAIL4	"\t[-L modpath]  Set module path\n"
     43  5088  ab196087 @ MSG_USAGE_DETAIL5	"\t[-o ostyle]   Output style (default|simple|num)\n"
     44  5088  ab196087 @ MSG_USAGE_DETAIL6	"\t[-r]          Readonly session (outfile not \
     45  5088  ab196087 			 allowed)\n"
     46  5088  ab196087 @ MSG_USAGE_DETAIL_LAST	"\n\tExtensive help for edit commands is available.\n\
     47  5088  ab196087 			 \tEnter 'help' at the elfedit prompt.\n"
     48  5088  ab196087 @ MSG_USAGE_CMD		"usage: %s\n"
     49  5088  ab196087 
     50  5088  ab196087 
     51  5088  ab196087 # sys:set option names
     52  5088  ab196087 
     53  5088  ab196087 @ MSG_SYSSET_A		"autoprint flag"
     54  5088  ab196087 @ MSG_SYSSET_D		"debug flag"
     55  5088  ab196087 
     56  5088  ab196087 
     57  5088  ab196087 # Names of things we allocate dynamically
     58  5088  ab196087 
     59  5088  ab196087 @ MSG_ALLOC_OBJSTATE	"object state"
     60  5088  ab196087 @ MSG_ALLOC_SYMTABOS	"symbol table information buffer"
     61  5088  ab196087 @ MSG_ALLOC_MODDEF	"module definition"
     62  5088  ab196087 @ MSG_ALLOC_UCMD	"user command state"
     63  5088  ab196087 @ MSG_ALLOC_UCMDSTR	"user command string buffer"
     64  5088  ab196087 @ MSG_ALLOC_TOKBUF	"user command token buffer"
     65  5088  ab196087 @ MSG_ALLOC_BATCHLST	"list of -e commands"
     66  5088  ab196087 @ MSG_ALLOC_EXPATH	"expanded module search path"
     67  5088  ab196087 @ MSG_ALLOC_PATHARR	"search path array"
     68  5088  ab196087 @ MSG_ALLOC_HELPITEM	"help state"
     69  5088  ab196087 @ MSG_ALLOC_SECMSGPRE	"section message prefix string"
     70  9273       Ali @ MSG_ALLOC_ELFCONDESC	"ELF constant string descriptors"
     71  5088  ab196087 
     72  5088  ab196087 # Format strings
     73  5088  ab196087 
     74  5088  ab196087 @ MSG_FMT_BUILTIN	"<built in>"
     75  5088  ab196087 @ MSG_FMT_UNKNOWN	"<unknown>"
     76  5088  ab196087 
     77  5088  ab196087 # Debug messages
     78  5088  ab196087 
     79  5088  ab196087 @ MSG_DEBUG_ADDDYNFLG	"[%d: %s][%d]: Set DF_1_EDITED flag\n"
     80  5088  ab196087 @ MSG_DEBUG_SEEDYNFLG	"[%d: %s][%d]: Previously edited file \
     81  5088  ab196087 			 (DF_1_EDITED flag is set) \n"
     82  5088  ab196087 @ MSG_DEBUG_CMDALIAS	"Command %s:%s is an alias for %s:%s\n"
     83  5088  ab196087 @ MSG_DEBUG_MODLOAD	"load module: %s: %s\n"
     84  5088  ab196087 @ MSG_DEBUG_MODUNLOAD	"unload module: %s: %s\n"
     85  5088  ab196087 @ MSG_DEBUG_CPFILE	"copied %s to output file: %s\n";
     86  5088  ab196087 @ MSG_DEBUG_UNLINKFILE	"unlink unsaved output file: %s\n";
     87  5088  ab196087 @ MSG_DEBUG_VERSION	"%d-bit version\n"
     88  5088  ab196087 @ MSG_DEBUG_READONLY	"session is readonly\n";
     89  5088  ab196087 @ MSG_DEBUG_NOFILE	"no ELF object specified. Limited functionalty is available\n";
     90  5088  ab196087 @ MSG_DEBUG_DIRTYEXIT	"discarding unsaved edits\n";
     91  5892  ab196087 @ MSG_DEBUG_FNDSEC	"[%d: %s]: section\n"
     92  5088  ab196087 @ MSG_DEBUG_FNDCAP	"[%d: %s]: capabilities section\n"
     93  5088  ab196087 @ MSG_DEBUG_FNDDYN	"[%d: %s]: dynamic section\n"
     94  5088  ab196087 @ MSG_DEBUG_FNDSTR	"[%d: %s][%d]: string: %s\n"
     95  6225  ab196087 @ MSG_DEBUG_FNDSTRTAB	"[%d: %s]: string table section (SHT_STRTAB)\n"
     96  6225  ab196087 @ MSG_DEBUG_FNDSTRTABFL	"[%d: %s]: string table section (SHF_STRINGS)\n"
     97  5088  ab196087 @ MSG_DEBUG_FNDSYMTAB	"[%d: %s]: %s symbol table section\n"
     98  5088  ab196087 @ MSG_DEBUG_FNDSYMINFO	"[%d: %s]: syminfo section\n"
     99  5088  ab196087 @ MSG_DEBUG_FNDVERSYM	"[%d: %s]: versym section: [%d: %s]\n"
    100  5088  ab196087 @ MSG_DEBUG_FNDXSHNDX	"[%d: %s]: extended section index section: [%d: %s]\n"
    101  5088  ab196087 @ MSG_DEBUG_EXISTSTR	"[%d: %s][%d]: Found existing string in section: %s\n"
    102  5308  ab196087 @ MSG_DEBUG_ADDSTR	"[%d: %s][%d]: Using %d/%d bytes from reserved area \
    103  5088  ab196087 			 to add string: %s\n"
    104  5088  ab196087 @ MSG_DEBUG_NULL2DYNFL1	"[%d: %s]: No existing flags1 field to modify. \
    105  5088  ab196087 			 Will use extra DT_NULL in slot [%d] \n"
    106  5088  ab196087 @ MSG_DEBUG_AUX_LINK	"[%d: %s]: Ignoring section: sh_link field references \
    107  5088  ab196087 			 non-symbol table section: [%d]\n"
    108  5088  ab196087 @ MSG_DEBUG_AUX_SIZE "[%d: %s][%d]: Ignoring section: Not enough elements \
    109  5088  ab196087 			 for corresponding symbol table: [%d: %s][%d]\n"
    110  5088  ab196087 @ MSG_DEBUG_EXECCMD	"command: %s\n"
    111  5088  ab196087 @ MSG_DEBUG_SHNAM2NDX	"[%d: %s]: section name: %s\n"
    112  5088  ab196087 @ MSG_DEBUG_SYMNAM2NDX	"[%d: %s][%d]: symbol \"%s\"\n"
    113  5088  ab196087 @ MSG_DEBUG_INPLACEWARN	"warning: editing input file in place is not \
    114  5088  ab196087 			 recommended: %s\n"
    115  5088  ab196087 @ MSG_DEBUG_SHNDX_RANGE	"Specified section index [%d] is outside of valid \
    116  5088  ab196087 			 of range for this object: 0-%d\n"
    117  5088  ab196087 @ MSG_DEBUG_ARRCPY_1	"%s: copy array element [%d] to [%d]\n"
    118  5088  ab196087 @ MSG_DEBUG_ARRCPY_N	"%s: copy array elements [%d-%d] to [%d-%d]\n"
    119  5088  ab196087 @ MSG_DEBUG_ARRZERO_1	"%s[%d]: zero array element\n"
    120  5088  ab196087 @ MSG_DEBUG_ARRZERO_N	"%s[%d-%d]: zero %d array elements\n"
    121  5088  ab196087 @ MSG_DEBUG_ARRMOVE_1	"%s: moved element [%d] to [%d]\n"
    122  5088  ab196087 @ MSG_DEBUG_ARRMOVE_N	"%s: moved %d elements from [%d-%d] to [%d-%d]\n"
    123  5088  ab196087 
    124  5088  ab196087 # Errors
    125  5088  ab196087 
    126  5088  ab196087 @ MSG_ERR_NOFILSYSONLY	"No ELF object specified. Only commands from \
    127  5088  ab196087 			 module sys: are allowed: %s:%s\n"
    128  5088  ab196087 @ MSG_ERR_BADOSTYLE	"Unrecognized output style \
    129  5088  ab196087 			 (default|simple|num): %s\n"
    130  5088  ab196087 @ MSG_ERR_BADCONST	"internal error: bad constant value in \
    131  5088  ab196087 			 elfedit_const_to_atoui()\n"
    132  5088  ab196087 @ MSG_ERR_BADGETVAL	"internal error: bad required value passed to \
    133  5088  ab196087 			 elfedit_XXX_get_value()\n"
    134  5088  ab196087 @ MSG_ERR_PATHTOOLONG	"path too long: %s/%s.so\n"
    135  5088  ab196087 @ MSG_ERR_CNTDLOPEN	"unable to load module sharable object %s: %s\n"
    136  5088  ab196087 @ MSG_ERR_CNTDLCLOSE	"unable to unload module sharable object %s: %s\n"
    137  5892  ab196087 @ MSG_ERR_ESCEOL	"backslash escape cannot be used at end of line\n"
    138  5892  ab196087 @ MSG_ERR_BADCESC	"unrecognized escape in double quoted token: \\%c\n"
    139  5892  ab196087 @ MSG_ERR_UNTERMQUOTE	"command is missing closing quote: %c\n"
    140  5088  ab196087 @ MSG_ERR_UNRECMOD	"no such module: %s\n"
    141  5088  ab196087 @ MSG_ERR_UNRECCMD	"no such command: %s:%s\n"
    142  5088  ab196087 @ MSG_ERR_SONOTMOD	"sharable object is not a valid elfedit module: %s\n"
    143  5088  ab196087 @ MSG_ERR_CNTULSMOD	"cannot unload built in module: %s\n"
    144  5088  ab196087 @ MSG_ERR_NULLPRICMDNAM	"module has empty string for primary command: %s\n"
    145  5088  ab196087 @ MSG_ERR_BADMODLOAD	"elfedit module failed to initialize: %s\n"
    146  5088  ab196087 @ MSG_ERR_BADMODNAME	"sharable library provides module '%s' rather \
    147  5088  ab196087 			 than expected '%s': %s\n"
    148  5088  ab196087 @ MSG_ERR_OPT_MODPRE	"command option name must start with \
    149  5088  ab196087 			 a '-': %s : %s:%s %s\n"
    150  5088  ab196087 @ MSG_ERR_OPT_MODLEN	"command option name must have at least one character: \
    151  5088  ab196087 			 %s : %s:%s %s\n"
    152  5088  ab196087 @ MSG_ERR_OPT_EXCMASKN0	"command option oa_excmask is non-zero when \
    153  5088  ab196087 			 oa_idmask is zero: %s : %s:%s %s\n"
    154  5088  ab196087 @ MSG_ERR_OPT_IDMASKPOW2 "command option oa_idmask must be 0 or power \
    155  5088  ab196087 			 of 2: %s : %s:%s %s\n"
    156  5088  ab196087 @ MSG_ERR_OPT_IDMASKUNIQ "command option oa_idmask must be 0 or must be unique \
    157  5088  ab196087 			 value: %s : %s:%s %s\n"
    158  5088  ab196087 @ MSG_ERR_ARG_MODPRE	"command argument name may not start with \
    159  5088  ab196087 			 a '-': %s : %s:%s %s\n"
    160  5088  ab196087 @ MSG_ERR_ARG_MODLEN	"command argument name must have at least one \
    161  5088  ab196087 			 character: %s : %s:%s %s\n"
    162  5088  ab196087 @ MSG_ERR_ARG_CMDOA_VAL	"command argument has ELFEDIT_CMDOA_F_VALUE set, \
    163  5088  ab196087 			 which is only allowed for command \
    164  5088  ab196087 			 options: %s : %s:%s %s\n"
    165  5088  ab196087 @ MSG_ERR_ARG_MASKNOT0	"command argument oa_idmask and oa_excmask fields \
    166  5088  ab196087 			 must both be set to 0: %s : %s:%s %s\n"
    167  5088  ab196087 @ MSG_ERR_BADSTDOA	"internal error: argument or option uses \
    168  5088  ab196087 			 ELFEDIT_CMDOA_F_VALUE incorrectly: %s : %s:%s\n"
    169  5088  ab196087 @ MSG_ERR_CMDOA_VALNAM	"ELFEDIT_CMDOA_F_VALUE optarg has NULL \
    170  5088  ab196087 			 oa_name: %s : %s:%s %s\n"
    171  5088  ab196087 @ MSG_ERR_CMDOA_VALNOT0	"ELFEDIT_CMDOA_F_VALUE optarg has non-0 oa_help, \
    172  5088  ab196087 			 oa_flags, oa_idmask or oa_excmask \
    173  5088  ab196087 			 field: %s : %s:%s %s\n"
    174  5088  ab196087 @ MSG_ERR_BADMODOPTVAL	"command option has ELFEDIT_CMDOA_F_VALUE bit set, \
    175  5088  ab196087 			 but following value item is missing: %s : %s:%s %s\n"
    176  5088  ab196087 @ MSG_ERR_CNTOPNFILE	"open failed: %s: %s\n"
    177  5088  ab196087 @ MSG_ERR_CNTOPNDIR	"unable to read directory: %s: %s\n"
    178  5088  ab196087 @ MSG_ERR_SIGACTION	"unable to set signal handler: %s\n"
    179  5088  ab196087 @ MSG_ERR_NOAR		"unable to edit ELF archive: %s\n"
    180  5088  ab196087 @ MSG_ERR_UNRECELFFILE	"unable to edit non-ELF file: %s\n"
    181  5088  ab196087 @ MSG_ERR_BADELFCLASS	"unable to edit file with unknown ELFCLASS: %s\n"
    182  5088  ab196087 @ MSG_ERR_MALLOC	"%s: malloc: %s\n"
    183  5088  ab196087 @ MSG_ERR_LIBELF	"%s: %s failed: %s\n"
    184  5088  ab196087 @ MSG_ERR_MODNOCMD	"module '%s' specified without a command\n"
    185  5088  ab196087 @ MSG_ERR_CNTFORK	"unable to execute child process: %s\n"
    186  5088  ab196087 @ MSG_ERR_CNTWAIT	"unable to wait for child process: %s\n"
    187  5088  ab196087 @ MSG_ERR_CNTEXEC	"%sunable to exec %s: %s\n"
    188  5088  ab196087 @ MSG_ERR_CNTSTAT	"unable to stat %s: %s\n"
    189  5088  ab196087 @ MSG_ERR_CNTCHMOD	"unable to chmod %s: %s\n"
    190  5088  ab196087 @ MSG_ERR_BADSECNDX	"Specified section index [%d] is outside valid \
    191  5088  ab196087 			 range: 1-%d\n"
    192  5088  ab196087 @ MSG_ERR_NOCAP		"ELF object does not have a capabilities section\n"
    193  5088  ab196087 @ MSG_ERR_NODYN		"ELF object does not have a dynamic section\n"
    194  5088  ab196087 @ MSG_ERR_NOSYM		"[%d: %s]: Symbol table does not contain symbol: %s\n"
    195  5088  ab196087 @ MSG_ERR_NOSYMTAB	"symbol table section not found\n"
    196  5088  ab196087 @ MSG_ERR_NOSYMINFO	"ELF object does not have a syminfo section\n"
    197  5088  ab196087 @ MSG_ERR_NOTSYMTAB	"[%d: %s]: section is not a symbol table\n"
    198  5088  ab196087 @ MSG_ERR_STRSHNDX	"string section index %d is outside expected \
    199  5892  ab196087 			 range 1 - %d\n"
    200  5088  ab196087 @ MSG_ERR_NOTSTRSH	"[%d: %s]: Section is not a string table as expected\n"
    201  5088  ab196087 @ MSG_ERR_NOSTRPAD	"[%d: %s]: String table does not have room to add \
    202  5088  ab196087 			 string\n"
    203  5088  ab196087 @ MSG_ERR_BADSTROFF	"[%d: %s]: String offset [%d] is outside valid \
    204  5088  ab196087 			 range: 0-%d\n"
    205  5088  ab196087 @ MSG_ERR_NOVERSYMSEC	"[%d: %s]: symbol table does not have an associated \
    206  5088  ab196087 			 versym section\n"
    207  5088  ab196087 @ MSG_ERR_NOXSHSEC	"[%d: %s]: symbol table does not have an associated \
    208  5088  ab196087 			 extended index section\n"
    209  5088  ab196087 @ MSG_ERR_BADATOISTR	"not a valid numeric value: '%s'\n"
    210  5088  ab196087 @ MSG_ERR_ATOIRANGE	"%s value is out of range [%lld - %lld]: %lld\n"
    211  5088  ab196087 @ MSG_ERR_ATOUIRANGE	"%s value is out of range [%llu - %llu]: %llu\n"
    212  5088  ab196087 @ MSG_ERR_BADPATHCODE	"Unrecognized code encountered in module \
    213  5088  ab196087 			 search path: %%%c\n"
    214  5088  ab196087 @ MSG_ERR_UNKNOWNSYSERR	"<unknown>"
    215  5088  ab196087 @ MSG_ERR_PAGERFINI	"Error encountered closing pager process\n"
    216  5088  ab196087 @ MSG_ERR_PRINTF	"Error encountered writing output\n"
    217  5088  ab196087 @ MSG_ERR_FWRITE	"Error encountered writing output: %s\n"
    218  5088  ab196087 @ MSG_ERR_MODNAMTOOLONG	"module name too long: %s\n"
    219  5088  ab196087 @ MSG_ERR_CNTGETORIGIN	"Unable to determine elfedit $ORIGIN\n"
    220  5088  ab196087 @ MSG_ERR_GLREAD	"error reading from stdin: %s\n"
    221  5088  ab196087 @ MSG_ERR_READONLY	"Operation not allowed in readonly session\n"
    222  5088  ab196087 @ MSG_ERR_NODIRTYQUIT	"Output ELF file has changes pending. Use 'write' \
    223  5088  ab196087 			 to save them, or 'quit -f' to exit without saving\n"
    224  5088  ab196087 @ MSG_ERR_NOSECNAM	"File does not contain section of name: %s\n"
    225  5088  ab196087 @ MSG_ERR_NOSECTYP	"File does not contain section of type: %s\n"
    226  5088  ab196087 @ MSG_ERR_ARRBNDS	"%s[%d]: attempt to access elements outside \
    227  5088  ab196087 			 of valid of range for this section: 0-%d\n"
    228  5088  ab196087 @ MSG_ERR_ARRMVOVERLAP	"%s: Array source [%d-%d] and destination \
    229  5088  ab196087 			 [%d-%d] regions overlap\n"
    230  9273       Ali @ MSG_ERR_BADOSABI	"Operation not supported by current OS ABI: %s\n";
    231  5088  ab196087 
    232  5088  ab196087 # Format strings for sys:help
    233  5088  ab196087 @ MSG_HLPFMT_MOD	"\nMODULE\n   %s - %s\n"
    234  5088  ab196087 @ MSG_HLPFMT_NAME	"\nNAME\n   %s - %s\n"
    235  5088  ab196087 @ MSG_HLPFMT_SYNOPSIS	"\nSYNOPSIS\n   %s\n"
    236  5088  ab196087 @ MSG_HLPFMT_ALIASES	"\nALIASES\n"
    237  5088  ab196087 @ MSG_HLPFMT_MODDEFCMD	"module default";
    238  5088  ab196087 @ MSG_HLPFMT_DEFCMD	"\t\t(Default Command For Module)";
    239  5088  ab196087 @ MSG_HLPFMT_DESC	"\nDESCRIPTION\n"
    240  5088  ab196087 @ MSG_HLPFMT_ARGS	"\nARGUMENTS\n"
    241  5088  ab196087 @ MSG_HLPFMT_OPT	"\nOPTIONS\n"
    242  5088  ab196087 @ MSG_HLPFMT_MULTIEND	"[End: %s, Next: %s]\n"
    243  5088  ab196087 @ MSG_HLPFMT_INFILE	"Input File:  %s\n"
    244  5088  ab196087 @ MSG_HLPFMT_INFILERO	"Input File:  %s (readonly)\n"
    245  5088  ab196087 @ MSG_HLPFMT_INFILENONE	"Input File: <not present>\n"
    246  5088  ab196087 @ MSG_HLPFMT_OUTFILE	"Output File: %s\n"
    247  5088  ab196087 @ MSG_HLPFMT_CNGPENDING	"    (changes pending)\n"   
    248  5088  ab196087 @ MSG_HLPFMT_VARHDR	"\nOptions:\n"
    249  5088  ab196087 @ MSG_HLPFMT_AFLG	"    a (Autoprint):    %s\n"
    250  5088  ab196087 @ MSG_HLPFMT_DFLG	"    d (Debug):        %s\n"
    251  5088  ab196087 @ MSG_HLPFMT_OFLG	"    o (Output Style): %s\n"
    252  5088  ab196087 @ MSG_HLPFMT_PATHHDR	"\nModule Load Path:\n"
    253  5088  ab196087 @ MSG_HLPFMT_MODHDR	"\nCurrently Loaded Modules:\n"
    254  5088  ab196087 @ MSG_HLPFMT_SUMSYNOPSIS	"\n           %s\n"
    255  5088  ab196087 
    256  5088  ab196087 
    257  5088  ab196087 # Names we use when an ELF item lacks a name
    258  5088  ab196087 
    259  5088  ab196087 @ MSG_UNKNOWNSECNAM	"<unknown section name>"
    260  5088  ab196087 @ MSG_BADSYMOFFSETNAM	"<bad symbol name>"
    261  5088  ab196087 
    262  5088  ab196087 
    263  5088  ab196087 # builtin sys: module description
    264  5088  ab196087 
    265  5088  ab196087 @ MSG_MOD_SYS_DESC	"Built in elfedit commands"
    266  5088  ab196087 
    267  5088  ab196087 
    268  5088  ab196087 # 1-line description strings for builtin commands.
    269  5088  ab196087 
    270  5088  ab196087 @ MSG_SYS_DESC_HELP	"Display module information and/or command \
    271  5088  ab196087 			 documentation"
    272  5088  ab196087 @ MSG_SYS_DESC_LOAD	"Load module(s)"
    273  5088  ab196087 @ MSG_SYS_DESC_SET	"Set elfedit options"
    274  5088  ab196087 @ MSG_SYS_DESC_STATUS	"Session status (files, modules, options)"
    275  5088  ab196087 @ MSG_SYS_DESC_QUIT	"Exit elfedit session"
    276  5088  ab196087 @ MSG_SYS_DESC_UNLOAD	"Unload module(s)"
    277  5088  ab196087 @ MSG_SYS_DESC_WRITE	"Flush any changes back to current ELF file"
    278  5088  ab196087 
    279  5088  ab196087 
    280  5088  ab196087 # Command option description strings for builtin commands
    281  5088  ab196087 
    282  5088  ab196087 @ MSG_SYS_OPTDESC_HELP_S	"\
    283  5088  ab196087    Generate a command synopsis rather than full command help.\n"
    284  5088  ab196087 
    285  5088  ab196087 @ MSG_SYS_OPTDESC_LOAD_A	"\
    286  5088  ab196087    Load every module that can be found by following the module\n\
    287  5088  ab196087    load path.\n"
    288  5088  ab196087 @ MSG_SYS_OPTDESC_QUIT_F	"\
    289  5088  ab196087    Exit the elfedit session without first requiring changes to\n\
    290  5088  ab196087    be saved. Any modifications made to the output file will be\n\
    291  5088  ab196087    quietly discarded, and will be lost."
    292  5088  ab196087 @ MSG_SYS_OPTDESC_UNLOAD_A	"\
    293  5088  ab196087    Unload every currently loaded module. Loaded modules can be\n\
    294  5088  ab196087    displayed using the \"status\" command.\n"
    295  5088  ab196087 
    296  5088  ab196087 
    297  5088  ab196087 # Command option description strings for builtin commands
    298  5088  ab196087 
    299  5088  ab196087 @ MSG_ARGDESC_HELP_ARG		"\
    300  5088  ab196087    Items for which help is desired. Module names and/or command\n\
    301  5088  ab196087    names are allowed, as described above.\n"
    302  5088  ab196087 @ MSG_ARGDESC_LOAD_MODNAME	"Name(s) of modules to be loaded.\n"
    303  5088  ab196087 @ MSG_ARGDESC_SET_OPTION	"Name of option to be set.\n"
    304  5088  ab196087 @ MSG_ARGDESC_SET_VALUE		"Value to be set for option.\n"
    305  5088  ab196087 @ MSG_ARGDESC_UNLOAD_MODNAME	"Name(s) of modules to be loaded.\n"
    306  5088  ab196087 
    307  5088  ab196087 
    308  5088  ab196087 # Help text for builtin commands.
    309  5088  ab196087 
    310  5088  ab196087 @ MSG_SYS_HELP_HELP_NOARG	"   \
    311  5088  ab196087    Welcome to elfedit, a utility for examining and editing\n\
    312  5088  ab196087    ELF objects. This brief discussion will tell you the basics\n\
    313  5088  ab196087    you need to know in order to use the elfedit help facility.\n\
    314  5088  ab196087    With that, you will be able to find desired information about\n\
    315  5088  ab196087    elfedit and its available commands.\n\
    316  5088  ab196087    \n\
    317  5088  ab196087    To reach the point where you are reading this text, you entered\n\
    318  5088  ab196087    the elfedit command \"help\", without any arguments. Actually, you\n\
    319  5088  ab196087    may have entered any of the following:\n\
    320  5088  ab196087    \n\
    321  5088  ab196087    \t?, help, man, sys:?, sys:help, sys:man\n\
    322  5088  ab196087    \n\
    323  5088  ab196087    As we will see below, these are simply different names for the\n\
    324  5088  ab196087    help command.\n\
    325  5088  ab196087    \n\
    326  5088  ab196087    You use elfedit by issuing commands for it to execute.\n\
    327  5088  ab196087    The syntax is similar to that used by Unix command line\n\
    328  5088  ab196087    utilities, and follows the general form:\n\
    329  5088  ab196087    \n\
    330  5088  ab196087    \t> module:command [-opt]... arg...\n\
    331  5088  ab196087    \n\
    332  5088  ab196087    The '>' character is the elfedit prompt, and not part of the\n\
    333  5088  ab196087    command. We show elfedit commands with the prompt, but you\n\
    334  5088  ab196087    should not type the prompt in. elfedit supplies it to let\n\
    335  5088  ab196087    you know when it is expecting a command to process.\n\
    336  5088  ab196087    \n\
    337  5088  ab196087    As with a Unix utility, there are options (which start with a '-'\n\
    338  5088  ab196087    character) and plain arguments (which do not start with a '-').\n\
    339  5088  ab196087    The plain arguments follow the options. The options and plain\n\
    340  5088  ab196087    arguments differ from command to command. Each command sets its own\n\
    341  5088  ab196087    rules for whether it accepts options and arguments, as well as\n\
    342  5088  ab196087    which ones and how many. These details are found in the online\n\
    343  5088  ab196087    help that is available for each command. To learn more about\n\
    344  5088  ab196087    any command, use the help command:\n\
    345  5088  ab196087    \n\
    346  5088  ab196087    \t> help cmdname\n\
    347  5088  ab196087    \n\
    348  5088  ab196087    where 'cmdname' is the name of the command you are interested in.\n\
    349  5088  ab196087    help is simply an elfedit command, like any other. As such, you\n\
    350  5088  ab196087    can read the full documentation for help by entering the command:\n\
    351  5088  ab196087    \n\
    352  5088  ab196087    \t> help sys:help\n\
    353  5088  ab196087    \n\
    354  5088  ab196087    elfedit functionality is organized as \"modules\", which are\n\
    355  5088  ab196087    dynamically loadable ELF objects that contain related editing\n\
    356  5088  ab196087    commands. To refer to a command, you enter its module name,\n\
    357  5088  ab196087    a colon (:), and the command name, all as a single unit without\n\
    358  5088  ab196087    any intervening white-space. The 'sys' module is special: It is\n\
    359  5088  ab196087    a built in module that contains the core commands required for\n\
    360  5088  ab196087    elfedit to work. As a convenience, if you omit the module name\n\
    361  5088  ab196087    from a command, elfedit assumes that you are referring to the sys\n\
    362  5088  ab196087    module. This is why sys:help and help are really the same command,\n\
    363  5088  ab196087    and why we did not have to write the above help command as:\n\
    364  5088  ab196087    \n\
    365  5088  ab196087    \t> sys:help sys:help\n\
    366  5088  ab196087    \n\
    367  5088  ab196087    In fact, we could have written it even more simply, as:\n\
    368  5088  ab196087    \n\
    369  5088  ab196087    \t> help help\n\
    370  5088  ab196087    \n\
    371  5088  ab196087    To access a command from any module other than sys, you must\n\
    372  5088  ab196087    enter both the module and command names. This means that if\n\
    373  5088  ab196087    you write your own module, the module name needs to be unique,\n\
    374  5088  ab196087    but the command names it supplies can be the same names used by\n\
    375  5088  ab196087    other modules. For instance, most elfedit modules supply a command\n\
    376  5088  ab196087    named dump to display information about their part of the ELF \n\
    377  5088  ab196087    file in a style similar to that used by the Unix elfdump command.\n\
    378  5088  ab196087    Despite having the same name (dump), these are all distinct and\n\
    379  5088  ab196087    separate commands. elfedit uses the module/command pair to know\n\
    380  5088  ab196087    which one you mean.\n\
    381  5088  ab196087    \n\
    382  5088  ab196087    elfedit commands can sometimes have more than one name, or alias.\n\
    383  5088  ab196087    Usually, each command only has one name, but there are some\n\
    384  5088  ab196087    exceptions. For example, as we have already seen, sys:?, and \n\
    385  5088  ab196087    sys:man are aliases of sys:help. These are all common names\n\
    386  5088  ab196087    that different programs use to supply help. elfedit accepts all\n\
    387  5088  ab196087    of these names in the hope that a new user who doesn't know\n\
    388  5088  ab196087    elfedit yet will try one of them, and find this information.\n\
    389  5088  ab196087    \n\
    390  5088  ab196087    Most modules provide a \"default command\". This command will be\n\
    391  5088  ab196087    run if you provide only the module name. Most modules use this\n\
    392  5088  ab196087    feature to provide a shortcut for their \"dump\" command. For\n\
    393  5088  ab196087    instance, both of the following commands run dyn:dump:\n\
    394  5088  ab196087    \n\
    395  5088  ab196087    \t> dyn:\n\
    396  5088  ab196087    \t> dyn:dump\n\
    397  5088  ab196087    \n\
    398  5088  ab196087    Although the command name dump was not required, the colon\n\
    399  5088  ab196087    (:) character is. Without it, elfedit will think you mean the\n\
    400  5088  ab196087     command sys:dyn.\n\
    401  5088  ab196087    \n\
    402  5088  ab196087    Using the help command (sys:help), you can easily learn about\n\
    403  5088  ab196087    the other commands that are available. To see which modules\n\
    404  5088  ab196087    are available and a synopsis of the commands they provide:\n\
    405  5088  ab196087    \n\
    406  5088  ab196087    \t> help -s\n\
    407  5088  ab196087    \n\
    408  5088  ab196087    To see the full documentation for a command, you give the\n\
    409  5088  ab196087    name of the command to the help command as a plain argument.\n\
    410  5088  ab196087    As we saw above, this command will show you the detailed\n\
    411  5088  ab196087    documentation for the help command itself:\n\
    412  5088  ab196087    \n\
    413  5088  ab196087    \t> help help\n\
    414  5088  ab196087    \n\
    415  5088  ab196087    The arguments to help can also be module names, without the\n\
    416  5088  ab196087    command. In that case, output similar to that from the -s\n\
    417  5088  ab196087    option will be displayed for that module.\n\
    418  5088  ab196087    \n\
    419  5088  ab196087    If you are new to elfedit, we recommend that you start by learning\n\
    420  5088  ab196087    about the commands in the sys module. This will provide you with\n\
    421  5088  ab196087    such basic knowledge as how to find out the status of your session\n\
    422  5088  ab196087    (sys:status) or how to exit the elfedit program (sys:quit). Once\n\
    423  5088  ab196087    you understand the basic commands, you can branch out and learn\n\
    424  5088  ab196087    about the available modules and commands and how they can be used\n\
    425  5088  ab196087    to edit ELF files.\n"
    426  5088  ab196087 
    427  5088  ab196087 
    428  5088  ab196087    
    429  5088  ab196087 
    430  5088  ab196087 @ MSG_SYS_HELP_HELP	"   \
    431  5088  ab196087    The sys:help command provides information on elfedit modules\n\
    432  5088  ab196087    and commands:\n\
    433  5088  ab196087    \n\
    434  5088  ab196087    o\tIf called with command names as arguments, documentation\n\
    435  5088  ab196087    \tfor each given command is displayed. If the -s option is\n\
    436  5088  ab196087    \tspecified, a basic synopsis for the command is given.\n\
    437  5088  ab196087    \tOtherwise, the full documentation is shown.\n\
    438  5088  ab196087    \n\
    439  5088  ab196087    o\tIf called with module names as arguments, the name and\n\
    440  5088  ab196087    \tpurpose of each module is shown, along with a brief synopsis\n\
    441  5088  ab196087    \tof the commands the module provides.\n\
    442  5088  ab196087    \n\
    443  5088  ab196087    o\tIf called with the -s option, and no arguments, a brief\n\
    444  5088  ab196087    \tsynopsis of every command is shown, organized by module,\n\
    445  5088  ab196087    \tfor every module visible from the module load path.\n\
    446  5088  ab196087    \n\
    447  5088  ab196087    o\tIf called with no arguments, and the -s option is not\n\
    448  5088  ab196087    \tused, a brief welcome message is displayed, giving basic\n\
    449  5088  ab196087    \tinformation on elfedit operation and the use of the\n\
    450  5088  ab196087    \thelp command.\n"
    451  5088  ab196087 
    452  5088  ab196087 @ MSG_SYS_HELP_LOAD	"\
    453  5088  ab196087    The sys:load command is used to explicitly load elfedit modules.\n\
    454  5088  ab196087    \n\
    455  5088  ab196087    Most of the functionality available in elfedit is not built\n\
    456  5088  ab196087    into the elfedit program directly. Instead, functionality\n\
    457  5088  ab196087    is contained in \"modules\", which are implemented as dynamically\n\
    458  5088  ab196087    loadable ELF sharable objects. This design allows for easy\n\
    459  5088  ab196087    extensibility of elfedit's abilities, and it is also efficient,\n\
    460  5088  ab196087    since it allows elfedit to be a relatively small program.\n\
    461  5088  ab196087    \n\
    462  5088  ab196087    elfedit will automatically load a module under the following\n\
    463  5088  ab196087    circumstances:\n\
    464  5088  ab196087    \n   \
    465  5088  ab196087    o\tA command from the module needs to be run.\n\
    466  5088  ab196087    \n   \
    467  5088  ab196087    o\tTo display help information about the module or a command\n\
    468  5088  ab196087    \tfound in the module.\n\
    469  5088  ab196087    \n   \
    470  5088  ab196087    o\tTo perform command completion in an interactive session.\n\
    471  5088  ab196087    \tCommand completion can cause many, or all modules visible\n\
    472  5088  ab196087    \tin the module path to be loaded.\n\
    473  5088  ab196087    \n\
    474  5088  ab196087    There is usually little need for explicit module loading.\n\
    475  5088  ab196087    It is usually best to allow elfedit to load modules as they\n\
    476  5088  ab196087    are needed.\n"
    477  5088  ab196087 
    478  5088  ab196087 @ MSG_SYS_HELP_SET	"\
    479  5088  ab196087    Set options that control how elfedit works.\n\
    480  5088  ab196087    \n\
    481  5088  ab196087    Most variables accept boolen (true/false) values. The sys:set\n\
    482  5088  ab196087    command accepts any of the following as a boolean value:\n\
    483  5088  ab196087    0/1, true/false, t/f, yes/no, y/n, on/off.\n\
    484  5088  ab196087    \n\
    485  5088  ab196087    The variables, and their allowed values, are as follows:\n\
    486  5088  ab196087    \n\
    487  5088  ab196087    a\tAutoprint [boolean]\n\
    488  5088  ab196087    \tWhen autoprint is active, elfedit automatically displays\n\
    489  5088  ab196087    \tthe results of any edits after carrying them out. By default,\n\
    490  5088  ab196087    \tautoprint is on for interactive sessions, and false for\n\
    491  5088  ab196087    \tsessions where the input is not a tty. The elfedit -a option\n\
    492  5088  ab196087    \tcan be used to enable autoprint at session start.\n\
    493  5088  ab196087    \n\
    494  5088  ab196087    d\tDebug [boolean]\n\
    495  5088  ab196087    \tWhen enabled, elfedit issues detailed messages showing\n\
    496  5088  ab196087    \twhere ELF data is being accessed, and how specific edits\n\
    497  5088  ab196087    \tare being carried out. Debug mode is off by default. The\n\
    498  5088  ab196087    \telfedit -d option can be used to enable debug mode at\n\
    499  5088  ab196087    \tsession start.\n\
    500  5088  ab196087    \n\
    501  5088  ab196087    o\tOutput Style [default, simple, num]\n\
    502  5088  ab196087    \tControls the format in which elfedit prints ELF data:\n\
    503  5088  ab196087    \n\
    504  5088  ab196087    \tdefault\n\
    505  5088  ab196087    \tInformation is displayed in a style similar to that used by\n\
    506  5088  ab196087    \tthe elfdump utility. This style is best for interactive use.\n\
    507  5088  ab196087    \n\
    508  5088  ab196087    \tsimple\n\
    509  5088  ab196087    \tData is displayed in a simple format, without extraneous\n\
    510  5088  ab196087    \tinformation or formatting. Strings are displayed as is.\n\
    511  5088  ab196087    \tNumbers are displayed as symbolic constants when possible,\n\
    512  5088  ab196087    \tand in integer form otherwise.\n\
    513  5088  ab196087    \n\
    514  5088  ab196087    \tnum\n\
    515  5088  ab196087    \tInteger values are always shown in integer form. Strings\n\
    516  5088  ab196087    \tare shown as the integer offset into the containing string\n\
    517  5088  ab196087    \ttable.\n"
    518  5088  ab196087 
    519  5088  ab196087 @ MSG_SYS_HELP_STATUS	"\
    520  5088  ab196087    The status of the current elfedit session is shown:\n\
    521  5088  ab196087    \n\
    522  5088  ab196087    o\tInput and output files\n\
    523  5088  ab196087    \n\
    524  5088  ab196087    o\tCurrent settings of the elfedit options (See 'help set'\n\
    525  5088  ab196087    \tfor more information on elfedit options)\n\
    526  5088  ab196087    \n\
    527  5088  ab196087    o\tModule load path\n\
    528  5088  ab196087    \n\
    529  5088  ab196087    o\tLoaded modules and the paths of the sharable objects\n\
    530  5088  ab196087    \tthat provide them\n"
    531  5088  ab196087 
    532  5088  ab196087 @ MSG_SYS_HELP_QUIT	"\
    533  5088  ab196087    Exits the elfedit session.\n\
    534  5088  ab196087    \n\
    535  5088  ab196087    elfedit will normally refuse to exit a non-readonly session\n\
    536  5088  ab196087    while there are unsaved edits pending. The sys:write command\n\
    537  5088  ab196087    can be used to save such edits, or the -f option can be used to\n\
    538  5088  ab196087    discard pending edits and exit immediately.\n"
    539  5088  ab196087 
    540  5088  ab196087 @ MSG_SYS_HELP_UNLOAD	"\
    541  5088  ab196087    The sys:unload command is used to explicitly unload elfedit modules.\n\
    542  5088  ab196087    \n\
    543  5088  ab196087    There is usually little need to explicitly unload modules.\n\
    544  5088  ab196087    \n\
    545  5088  ab196087    The description of the sys:load command discusses module loading\n\
    546  5088  ab196087    in more detail.\n"
    547  5088  ab196087 
    548  5088  ab196087 @ MSG_SYS_HELP_WRITE	"\
    549  5088  ab196087    Writes all pending edits to the output file. Until this is done,\n\
    550  5088  ab196087    the edits are not permanent, and can be abandoned by exiting the\n\
    551  5088  ab196087    session using the -f option to sys:quit. Once sys:write is used,\n\
    552  5088  ab196087    these changes become permanent.\n"
    553  5088  ab196087 
    554  5088  ab196087 
    555  5088  ab196087 
    556  5088  ab196087 # Command option description strings for inheritable option strings
    557  5088  ab196087 
    558  5088  ab196087 @ MSG_STDOA_OPTDESC_AND	"\
    559  5088  ab196087    The new value should be bitwised AND'd against the\n\
    560  5088  ab196087    existing value.\n"
    561  5088  ab196087 
    562  5088  ab196087 @ MSG_STDOA_OPTDESC_CMP	"\
    563  5088  ab196087    The new value should be bitwise complemented\n\
    564  5088  ab196087    (1 values set to 0, and 0 values set to 1) before being\n\
    565  5088  ab196087    applied to the existing value.\n"
    566  5088  ab196087 
    567  5088  ab196087 @ MSG_STDOA_OPTDESC_O "\
    568  5088  ab196087    Overrides the global output style (as set via the sys:set\n\
    569  5088  ab196087    command) for the duration of the call to this command.\n\
    570  5088  ab196087    The valid values for the outstyle argument are: default,\n\
    571  5088  ab196087    simple, or num.\n\
    572  5088  ab196087    \n\
    573  5088  ab196087    Output styles are described in more detail in the documentation\n\
    574  5088  ab196087    for the sys:set command.\n"
    575  5088  ab196087 
    576  5088  ab196087 @ MSG_STDOA_OPTDESC_OR	"\
    577  5088  ab196087    The new value should be bitwised OR'd against the\n\
    578  5088  ab196087    existing value.\n"
    579  5088  ab196087 
    580  5088  ab196087 
    581  5088  ab196087 
    582  5088  ab196087 
    583  5088  ab196087 @ _END_
    584  5088  ab196087 
    585  5088  ab196087 
    586  5088  ab196087 # The following strings represent reserved words, files, pathnames and symbols.
    587  5088  ab196087 # Reference to this strings is via the MSG_ORIG() macro, and thus no message
    588  5088  ab196087 # translation is required.
    589  5088  ab196087 
    590  5088  ab196087 # Names of libelf functions
    591  5088  ab196087 
    592  5088  ab196087 @ MSG_ELF_BEGIN		"elf_begin"
    593  5088  ab196087 @ MSG_ELF_GETEHDR	"elf_getehdr"
    594  5088  ab196087 @ MSG_ELF_GETDATA	"elf_getdata"
    595  9900       Ali @ MSG_ELF_GETPHDRNUM	"elf_getphdrnum"
    596  5088  ab196087 @ MSG_ELF_GETPHDR	"elf_getphdr"
    597  5088  ab196087 @ MSG_ELF_GETSCN	"elf_getscn"
    598  5088  ab196087 @ MSG_ELF_GETSHDR	"elf_getshdr"
    599  9900       Ali @ MSG_ELF_GETSHDRNUM	"elf_getshdrnum"
    600  9900       Ali @ MSG_ELF_GETSHDRSTRNDX	"elf_getshdrstrndx"
    601  5088  ab196087 @ MSG_ELF_UPDATE	"elf_update"
    602  5088  ab196087 
    603  5088  ab196087 
    604  5088  ab196087 # Names of sh_type SHT_* type constants
    605  5088  ab196087 
    606  5088  ab196087 @ MSG_SHT_SYMTAB		"SHT_SYMTAB"		# 2
    607  5088  ab196087 @ MSG_SHT_SYMTAB_ALT1		"symtab"
    608  5088  ab196087 @ MSG_SHT_STRTAB		"SHT_STRTAB"		# 3
    609  5088  ab196087 @ MSG_SHT_STRTAB_ALT1		"strtab"
    610  5088  ab196087 @ MSG_SHT_DYNSYM		"SHT_DYNSYM"		# 11
    611  5088  ab196087 @ MSG_SHT_DYNSYM_ALT1		"dynsym"
    612  5088  ab196087 @ MSG_SHT_SUNW_LDYNSYM		"SHT_SUNW_LDYNSYM"	# 0x6ffffff3
    613  5088  ab196087 @ MSG_SHT_SUNW_LDYNSYM_ALT1	"sunw_ldynsym"
    614  5088  ab196087 
    615  5088  ab196087 
    616  5088  ab196087 # ISA strings. These could be separated into separate message modules
    617  5088  ab196087 # on a per-platform basis if their size became large, but this is probably
    618  5088  ab196087 # cheaper for this small set of strings.
    619  5088  ab196087 @ MSG_ISA_SPARC_32	"sparc"
    620  5088  ab196087 @ MSG_ISA_SPARC_64	"sparcv9"
    621  5088  ab196087 @ MSG_ISA_X86_32	"i386"
    622  5088  ab196087 @ MSG_ISA_X86_64	"amd64"
    623  5088  ab196087 
    624  5088  ab196087 # Format strings
    625  5088  ab196087 
    626  5088  ab196087 @ MSG_FMT_BLDPATH	"%s/%s"
    627  5088  ab196087 @ MSG_FMT_BLDSOPATH	"%s/%s.so"
    628  5088  ab196087 @ MSG_FMT_MODCMD	"%s:%s"
    629  5088  ab196087 @ MSG_FMT_SYSCMD	"[sys]:%s"
    630  5088  ab196087 @ MSG_FMT_WORDVAL	"%u"
    631  5088  ab196087 @ MSG_FMT_WRAPUSAGE	"\n%s"
    632  5088  ab196087 @ MSG_FMT_SECMSGPRE	"[%d: %s]"
    633  5088  ab196087 
    634  5088  ab196087 # Miscellaneous clutter
    635  5088  ab196087 
    636  5088  ab196087 @ MSG_STR_NULL		""
    637  5088  ab196087 @ MSG_STR_ARG		"arg"
    638  5088  ab196087 @ MSG_STR_SP_BAR_SP	" | "
    639  5088  ab196087 @ MSG_STR_ELIPSES	"..."
    640  5088  ab196087 @ MSG_STR_OPTIONS	"ade:L:o:rw"
    641  5088  ab196087 @ MSG_STR_ELFEDIT	"elfedit: "
    642  5088  ab196087 @ MSG_STR_PROMPT	"> "
    643  5088  ab196087 @ MSG_STR_NL		"\n"
    644  5088  ab196087 @ MSG_STR_TAB		"\t"
    645  5088  ab196087 @ MSG_STR_BINCP		"/bin/cp"
    646  5088  ab196087 @ MSG_STR_BINMORE	"/bin/more"
    647  5088  ab196087 @ MSG_STR_PAGER		"PAGER"
    648  5088  ab196087 @ MSG_STR_ELFEDITINIT32	"elfedit32_init"
    649  5088  ab196087 @ MSG_STR_ELFEDITINIT64	"elfedit64_init"
    650  5088  ab196087 @ MSG_STR_HLPINDENT	"   ";
    651  5088  ab196087 @ MSG_STR_HLPUSEINDENT	"        ";
    652  5088  ab196087 @ MSG_STR_HLPSUMINDENT	"              ";
    653  5088  ab196087 @ MSG_STR_HLPOPTARG	"%s";
    654  5088  ab196087 @ MSG_STR_HLPOPTARG2	"%s %s";
    655  5088  ab196087 @ MSG_STR_ENVVAR	"ELFEDIT_PATH"
    656  5088  ab196087 @ MSG_STR_MODPATH	"%r/usr/lib/elfedit/%I"
    657  5088  ab196087 @ MSG_STR_EMPTY		""
    658  5088  ab196087 @ MSG_STR_DOT		"."
    659  5088  ab196087 @ MSG_STR_COLON		":"
    660  5088  ab196087 @ MSG_STR_SPACE		" "
    661  5088  ab196087 @ MSG_STR_COMMA_SP	", "
    662  5088  ab196087 @ MSG_STR_CPAREN	")"
    663  5088  ab196087 @ MSG_STR_DOTSO		".so"
    664  5088  ab196087 @ MSG_STR_MINUS_MINUS	"--"
    665  5088  ab196087 @ MSG_STR_MINUS_A	"-a"
    666  5088  ab196087 @ MSG_STR_MINUS_AND	"-and"
    667  5088  ab196087 @ MSG_STR_MINUS_CMP	"-cmp"
    668  5088  ab196087 @ MSG_STR_MINUS_F	"-f"
    669  5088  ab196087 @ MSG_STR_MINUS_S	"-s"
    670  5088  ab196087 @ MSG_STR_MINUS_O	"-o"
    671  5088  ab196087 @ MSG_STR_MINUS_OR	"-or"
    672  5088  ab196087 @ MSG_STR_MODNAME	"modname"
    673  5088  ab196087 @ MSG_STR_TRUE		"true"
    674  5088  ab196087 @ MSG_STR_FALSE		"false"
    675  5088  ab196087 @ MSG_STR_ON		"on"
    676  5088  ab196087 @ MSG_STR_OFF		"off"
    677  5088  ab196087 @ MSG_STR_YES		"yes"
    678  5088  ab196087 @ MSG_STR_NO		"no"
    679  5088  ab196087 @ MSG_STR_0		"0"
    680  5088  ab196087 @ MSG_STR_1		"1"
    681  5088  ab196087 @ MSG_STR_A		"a"
    682  5088  ab196087 @ MSG_STR_D		"d"
    683  5088  ab196087 @ MSG_STR_F		"f"
    684  5088  ab196087 @ MSG_STR_N		"n"
    685  5088  ab196087 @ MSG_STR_O		"o"
    686  5088  ab196087 @ MSG_STR_OPTION	"option"
    687  5088  ab196087 @ MSG_STR_T		"t"
    688  5088  ab196087 @ MSG_STR_VALUE		"value"
    689  5088  ab196087 @ MSG_STR_W		"w"
    690  5088  ab196087 @ MSG_STR_Y		"y"
    691  5088  ab196087 @ MSG_STR_DEFAULT		"default"
    692  5088  ab196087 @ MSG_STR_MINUS_O_DEFAULT	"-odefault"
    693  5088  ab196087 @ MSG_STR_SIMPLE		"simple"
    694  5088  ab196087 @ MSG_STR_MINUS_O_SIMPLE	"-osimple"
    695  5088  ab196087 @ MSG_STR_NUM			"num"
    696  5088  ab196087 @ MSG_STR_MINUS_O_NUM		"-onum"
    697  5088  ab196087 @ MSG_STR_OUTSTYLE	"outstyle"
    698  5088  ab196087 
    699  5088  ab196087 
    700  5088  ab196087 # Format strings for sys:help
    701  5088  ab196087 @ MSG_HLPFMT_MULTIHDR	"::::::::::::::\n%s\n::::::::::::::\n"
    702  5088  ab196087 @ MSG_HLPFMT_NAMDSCCOL	"   %-15s%s\n"
    703  5088  ab196087 @ MSG_HLPFMT_NAMDSCHDR	"%s - %s\n"
    704  5088  ab196087 @ MSG_HLPFMT_NAMSUMHDR	"      %s - %s\n"
    705  5088  ab196087 @ MSG_HLPFMT_PATHELT	"       %s\n"
    706  5088  ab196087 @ MSG_HLPFMT_MULTNAM	"%s ("
    707  5088  ab196087 
    708  5088  ab196087 # name of builtin sys: module
    709  5088  ab196087 
    710  5088  ab196087 @ MSG_MOD_SYS		"sys"
    711  5088  ab196087 
    712  5088  ab196087 # Names of sys: builtin commands
    713  5088  ab196087 @ MSG_SYS_CMD_HELP	"help"
    714  5088  ab196087 @ MSG_SYS_CMD_HELP_A1	"?"
    715  5088  ab196087 @ MSG_SYS_CMD_HELP_A2	"man"
    716  5088  ab196087 @ MSG_SYS_CMD_LOAD	"load"
    717  5088  ab196087 @ MSG_SYS_CMD_QUIT	"quit"
    718  5088  ab196087 @ MSG_SYS_CMD_QUIT_A1	"exit"
    719  5088  ab196087 @ MSG_SYS_CMD_QUIT_A2	"bye"
    720  5088  ab196087 @ MSG_SYS_CMD_SET	"set"
    721  5088  ab196087 @ MSG_SYS_CMD_STATUS	"status"
    722  5088  ab196087 @ MSG_SYS_CMD_UNLOAD	"unload"
    723  5088  ab196087 @ MSG_SYS_CMD_WRITE	"write"
    724  5088  ab196087 @ MSG_SYS_CMD_WRITE_A1	"flush"
    725  5088  ab196087 @ MSG_SYS_CMD_WRITE_A2	"save"
    726