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 2009 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26 27@ _START_ 28 29# Message file for elfedit 'ehdr' module 30 31@ MSG_ID_ELFEDIT_EHDR 32 33 34# Debug messages 35@ MSG_DEBUG_E_S_OK "ehdr.%s: value unchanged: %s\n" 36@ MSG_DEBUG_E_S_CHG "ehdr.%s: change from %s to %s\n" 37@ MSG_DEBUG_E_D_OK "ehdr.%s: value unchanged: %d\n" 38@ MSG_DEBUG_E_D_CHG "ehdr.%s: change from %d to %d\n" 39@ MSG_DEBUG_E_LLX_OK "ehdr.%s: value unchanged: %#llx\n" 40@ MSG_DEBUG_E_LLX_CHG "ehdr.%s: change from %#llx to %#llx\n" 41@ MSG_DEBUG_EI_S_S_OK "ehdr.e_ident[%s]: value unchanged: %s\n"; 42@ MSG_DEBUG_EI_S_S_CHG "ehdr.e_ident[%s]: change from %s to %s\n" 43@ MSG_DEBUG_EI_D_X_OK "ehdr.e_ident[%d]: value unchanged: %#x\n" 44@ MSG_DEBUG_EI_D_X_CHG "ehdr.e_ident[%d]: change from %#x to %#x\n" 45@ MSG_DEBUG_SHDR0_D_OK "shdr[0].%s: value unchanged: %d\n" 46@ MSG_DEBUG_SHDR0_D_CHG "shdr[0].%s: change from %d to %d\n" 47@ MSG_DEBUG_NOTSTRTAB "ehdr.%s: ELF warning: section is not a \ 48 string table: %d\n" 49 50 51# Module description 52 53@ MSG_MOD_DESC "ELF Header" 54 55 56# 1-line description strings 57 58@ MSG_DESC_DUMP "Dump ELF Header" 59@ MSG_DESC_E_IDENT "ELF Identification" 60@ MSG_DESC_E_TYPE "Object File Type" 61@ MSG_DESC_E_MACHINE "Machine Architecture" 62@ MSG_DESC_E_VERSION "Object File Version" 63@ MSG_DESC_E_ENTRY "Starting Virtual Address" 64@ MSG_DESC_E_PHOFF "Program Header Table File Offset" 65@ MSG_DESC_E_SHOFF "Section Header Table File Offset" 66@ MSG_DESC_E_FLAGS "Processor-Specific Flags" 67@ MSG_DESC_E_EHSIZE "ELF Header's Size" 68@ MSG_DESC_E_PHENTSIZE "Program Header Table Entry Size" 69@ MSG_DESC_E_PHNUM "Number Program Header Entries" 70@ MSG_DESC_E_SHENTSIZE "Section Header Table Entry Size" 71@ MSG_DESC_E_SHNUM "Number Section Header Entries" 72@ MSG_DESC_E_SHSTRNDX "Section Name String Table Index" 73 74@ MSG_DESC_EI_MAG0 "File Identification Byte #1" 75@ MSG_DESC_EI_MAG1 "File Identification Byte #2" 76@ MSG_DESC_EI_MAG2 "File Identification Byte #3" 77@ MSG_DESC_EI_MAG3 "File Identification Byte #4" 78@ MSG_DESC_EI_CLASS "File Class (System Word Size)" 79@ MSG_DESC_EI_DATA "Data Encoding (Byte Order)" 80@ MSG_DESC_EI_VERSION "File Version" 81@ MSG_DESC_EI_OSABI "Operating System / ABI Identification" 82@ MSG_DESC_EI_ABIVERSION "ABI version" 83 84# Command option description strings 85 86@ MSG_OPTDESC_SHNDX "\ 87 Interpret the sec argument as a section index rather than\n\ 88 as a section name. section can be one of the well known SHN_\n\ 89 symbolic constants, or any integer.\n" 90 91@ MSG_OPTDESC_SHTYP "\ 92 Interpret the sec argument as a section type rather than\n\ 93 as a section name. section can be one of the well known SHT_\n\ 94 symbolic constants, or any integer.\n" 95 96# Command argument description strings 97 98@ MSG_ARGDESC_E_IDENT_NDX "\ 99 Index of element of e_ident[] array. This can be\n\ 100 an integer value, or any of the EI_ symbolic constants\n\ 101 defined in /usr/include/sys/elf.h.\n" 102 103@ MSG_ARGDESC_E_IDENT_VALUE "\ 104 New value for element of e_ident[] array. This can be\n\ 105 an integer value, or any symbolic constants defined in\n\ 106 /usr/include/sys/elf.h that apply to the selected item.\n" 107 108@ MSG_ARGDESC_E_TYPE_VALUE "\ 109 New value for type of the ELF object. This can be\n\ 110 an integer value, or any of the ET_ symbolic constants\n\ 111 defined in /usr/include/sys/elf.h.\n" 112 113@ MSG_ARGDESC_E_MACHINE_VALUE "\ 114 New value for architecture of the ELF object. This can be\n\ 115 an integer value, or any of the EM_ symbolic constants\n\ 116 defined in /usr/include/sys/elf.h.\n" 117 118@ MSG_ARGDESC_E_VERSION_VALUE "\ 119 New value for version of the ELF object. This can be\n\ 120 an integer value, or any of the EV_ symbolic constants\n\ 121 defined in /usr/include/sys/elf.h.\n" 122 123@ MSG_ARGDESC_E_ENTRY_VALUE "\ 124 New value for virtual address to which the system first transfers control.\n" 125 126@ MSG_ARGDESC_E_PHOFF_VALUE "\ 127 New value for program header table's file offset.\n" 128 129@ MSG_ARGDESC_E_SHOFF_VALUE "\ 130 New value for section header table's file offset.\n" 131 132@ MSG_ARGDESC_E_FLAGS_VALUE "\ 133 New value for processor-specific flags. This can be an integer\n\ 134 value, or any of the EF_ symbolic constants defined in the\n\ 135 system header files\n" 136 137@ MSG_ARGDESC_E_EHSIZE_VALUE "\ 138 New value for size of ELF header, in bytes.\n" 139 140@ MSG_ARGDESC_E_PHENTSIZE_VALUE "\ 141 New value for size of one entry in the file's program header table,\n\ 142 in bytes.\n" 143 144@ MSG_ARGDESC_E_PHNUM_VALUE "\ 145 New value for number of entries in the program header table.\n" 146 147@ MSG_ARGDESC_E_SHENTSIZE_VALUE "\ 148 New value for size of one entry in the file's section header table,\n\ 149 in bytes.\n" 150 151@ MSG_ARGDESC_E_SHNUM_VALUE "\ 152 New value for number of entries in the section header table.\n" 153 154@ MSG_ARGDESC_E_SHSTRNDX_SEC "\ 155 String table section containing section name strings.\n\ 156 By default, this argument is interpreted as the name\n\ 157 of the desired section. The section index of the first\n\ 158 section with the specified name is used.\n\ 159 \n\ 160 If -shndx is set, then sec is a section index, and is\n\ 161 interpreted as an integer, or one of the well known SHN_\n\ 162 symbolic constant names.\n\ 163 \n\ 164 If -shtyp is set, then sec is a section type, and is\n\ 165 interpreted as an integer, or one of the well known SHT_\n\ 166 symbolic constant names. The section index of the first\n\ 167 section with the specified type is used.\n" 168 169@ MSG_ARGDESC_EI_MAG0_VALUE "\ 170 New value for first byte of file magic number.\n" 171 172@ MSG_ARGDESC_EI_MAG1_VALUE "\ 173 New value for second byte of file magic number.\n" 174 175@ MSG_ARGDESC_EI_MAG2_VALUE "\ 176 New value for third byte of file magic number.\n" 177 178@ MSG_ARGDESC_EI_MAG3_VALUE "\ 179 New value for fourth byte of file magic number.\n" 180 181@ MSG_ARGDESC_EI_CLASS_VALUE "\ 182 New value for file's class. This can be an integer value, or any of\n\ 183 the ELFCLASS symbolic constants defined in /usr/include/sys/elf.h.\n" 184 185@ MSG_ARGDESC_EI_DATA_VALUE "\ 186 New value for file's data encoding. This can be an integer\n\ 187 value, or any ELFDATA symbolic constants defined in\n\ 188 /usr/include/sys/elf.h.\n" 189 190# Note: EI_VERSION uses the same string as E_VERSION, above 191 192@ MSG_ARGDESC_EI_OSABI_VALUE "\ 193 New value for ABI identification of the ELF object. This can be\n\ 194 an integer value, or any of the ELFOSABI_ symbolic constants\n\ 195 defined in /usr/include/sys/elf.h.\n" 196 197@ MSG_ARGDESC_EI_ABIVERSION_VALUE "\ 198 New value for version of the ABI to which the object is targeted.\n" 199 200 201# Help strings 202 203@ MSG_HELP_DUMP " \ 204 The ehdr:dump command is used to display the contents of\n\ 205 the ELF header using the same style used by the elfdump program.\n" 206 207@ MSG_HELP_E_IDENT " \ 208 Examine or modify ELF Identification information for the\n\ 209 object. This information is found in the e_ident array in\n\ 210 the ELF header.\n\ 211 \n\ 212 If ehdr:e_ident is called without any argument, all values\n\ 213 the value in e_ident are shown. If called with the index\n\ 214 argument, the selected element of e_ident is shown. If also\n\ 215 called with the value argument, the selected e_ident element\n\ 216 is updated with the new value.\n" 217 218 219@ MSG_HELP_E_TYPE " \ 220 Examine or modify the object file type. This information is\n\ 221 found in the e_type field of the ELF header.\n\ 222 \n\ 223 If ehdr:e_type is called without an argument, the value of\n\ 224 e_type is shown. If called with the value argument, the\n\ 225 e_type field is updated with the new value.\n\ 226 \n\ 227 Note: Changing the type code of an object does not change the\n\ 228 other contents of the file, and is unlikely to produce a usable\n\ 229 ELF object.\n" 230 231 232@ MSG_HELP_E_MACHINE " \ 233 Examine or modify the required architecture of the object.\n\ 234 This information is found in the e_machine field of the\n\ 235 ELF header.\n\ 236 \n\ 237 If ehdr:e_machine is called without an argument, the value of\n\ 238 e_machine is shown. If called with the value argument, the\n\ 239 e_machine field is updated with the new value.\n\ 240 \n\ 241 Note: Changing the architecture code of an object does not change the\n\ 242 other contents of the file, and is unlikely to produce a usable\n\ 243 ELF object.\n" 244 245 246@ MSG_HELP_E_VERSION " \ 247 Examine or modify the object file version. This information\n\ 248 is found in the e_version field of the ELF header.\n\ 249 \n\ 250 If ehdr:e_version is called without an argument, the value of\n\ 251 e_version is shown. If called with the value argument, the\n\ 252 e_version field is updated with the new value.\n\ 253 \n\ 254 Note: The e_ident[EI_VERSION] element of the ELF header\n\ 255 identification array also contains a version value. These\n\ 256 two fields should be set to the same value. Use the\n\ 257 ehdr:ei_version command to change that element.\n" 258 259 260@ MSG_HELP_E_ENTRY " \ 261 Examine or modify the virtual address to which the system\n\ 262 first transfers control, thus starting the process. This\n\ 263 information is found in the e_entry field of the ELF header.\n\ 264 If the file has no associated entry point, this member\n\ 265 holds zero.\n\ 266 \n\ 267 If ehdr:e_entry is called without an argument, the value of\n\ 268 e_entry is shown. If called with the value argument, the\n\ 269 e_entry field is updated with the new value.\n\ 270 \n\ 271 Note: The entry point of an object is highly system\n\ 272 dependent. Changing it is likely to produce an object that\n\ 273 does not run properly.\n" 274 275 276@ MSG_HELP_E_PHOFF " \ 277 Examine or modify the program header table's file offset.\n\ 278 This information is found in the e_phoff field of the\n\ 279 ELF header. If the file has no program header table, this\n\ 280 member holds zero.\n\ 281 \n\ 282 If ehdr:e_phoff is called without an argument, the value of\n\ 283 e_phoff is shown. If called with the value argument, the\n\ 284 e_phoff field is updated with the new value.\n\ 285 \n\ 286 Note: Changing the e_phoff field of an object does not change\n\ 287 the actual layout of the file or move the program header table.\n\ 288 As such, changing this value is likely to produce an unusable\n\ 289 ELF object.\n" 290 291 292@ MSG_HELP_E_SHOFF " \ 293 Examine or modify the section header table's file offset.\n\ 294 This information is found in the e_shoff field of the\n\ 295 ELF header. If the file has no section header table, this\n\ 296 member holds zero.\n\ 297 \n\ 298 If ehdr:e_shoff is called without an argument, the value of\n\ 299 e_shoff is shown. If called with the value argument, the\n\ 300 e_shoff field is updated with the new value.\n\ 301 \n\ 302 Note: Changing the e_shoff field of an object does not change\n\ 303 the actual layout of the file or move the section header table.\n\ 304 As such, changing this value is likely to produce an unusable\n\ 305 ELF object.\n" 306 307 308@ MSG_HELP_E_FLAGS " \ 309 Examine or modify the processor specific flags associated\n\ 310 with the file. This information is found in the e_flags\n\ 311 field of the ELF header.\n\ 312 \n\ 313 If ehdr:e_flags is called without an argument, the value of\n\ 314 e_flags is shown. If called with one or more flag_value\n\ 315 arguments, the the following steps are taken:\n\ 316 \n \ 317 o\tAll the flag_value arguments are OR'd together.\n\ 318 \n \ 319 o\tIf the -cmp option has been specified, the new value\n\ 320 \tis complemented.\n\ 321 \n \ 322 o\tThe e_flags field of the ELF header is updated with\n\ 323 \tthe new value. If -and is specified, the new value is\n\ 324 \tAND'd against the existing value. If -or is specified,\n\ 325 \tthe new value is OR'd against the existing value. If\n\ 326 \tneither -and or -or are specified, the new value replaces\n\ 327 \tthe existing value.\n\ 328 \n\ 329 Note: Changing the e_flags field of an object does not change\n\ 330 the code contained in the file. Setting a flag that implies\n\ 331 an ability the existing code cannot support will produce an\n\ 332 unusable ELF object.\n" 333 334 335@ MSG_HELP_E_EHSIZE " \ 336 Examine or modify the size of the ELF header. This information\n\ 337 is found in the e_ehsize field of the ELF header.\n\ 338 \n\ 339 If ehdr:e_ehsize is called without an argument, the value of\n\ 340 e_ehsize is shown. If called with the value argument, the\n\ 341 e_ehsize field is updated with the new value.\n\ 342 \n\ 343 Note: Changing the e_ehsize field of the ELF header does not\n\ 344 change the size of the actual ELF header data structure. Setting\n\ 345 it to a different value is likely to produce an unusable ELF object.\n" 346 347 348@ MSG_HELP_E_PHENTSIZE " \ 349 Examine or modify the size of one entry in the file's program\n\ 350 header table. This information is found in the e_phentsize\n\ 351 field of the ELF header.\n\ 352 \n\ 353 If ehdr:e_phentsize is called without an argument, the value of\n\ 354 e_phentsize is shown. If called with the value argument, the\n\ 355 e_phentsize field is updated with the new value.\n\ 356 \n\ 357 Note: Changing the e_phentsize field of the ELF header does\n\ 358 not change the size of the actual program header array elements.\n\ 359 Setting it to a different value is likely to produce an unusable\n\ 360 ELF object.\n" 361 362 363@ MSG_HELP_E_PHNUM " \ 364 Examine or modify the number of entries in the program header\n\ 365 table. This information is found in the e_phnum field of the\n\ 366 ELF header, or in the sh_link field of the first section header\n\ 367 in the case of extended program indexes.\n\ 368 \n\ 369 If the number of program headers is greater than or equal\n\ 370 to PN_XNUM (0xffff), e_phnum has the value PN_XNUM, and the\n\ 371 actual number of program header table entries is contained\n\ 372 in the sh_info field of the section header at index 0.\n\ 373 \n\ 374 If ehdr:e_phnum is called without an argument, the number\n\ 375 of program headers is shown. If called with the value argument,\n\ 376 the number is updated with the new value.\n\ 377 \n\ 378 Note: Changing e_phnum and/or the sh_link field of the first\n\ 379 section header does not change the size of the actual program\n\ 380 header array in the file.\n" 381 382 383@ MSG_HELP_E_SHENTSIZE " \ 384 Examine or modify the size of one entry in the file's section\n\ 385 header table. This information is found in the e_shentsize\n\ 386 field of the ELF header.\n\ 387 \n\ 388 If ehdr:e_shentsize is called without an argument, the value of\n\ 389 e_shentsize is shown. If called with the value argument, the\n\ 390 e_shentsize field is updated with the new value.\n\ 391 \n\ 392 Note: Changing the e_shentsize field of the ELF header does\n\ 393 not change the size of the actual section header array elements.\n\ 394 Setting it to a different value is likely to produce an unusable\n\ 395 ELF object.\n" 396 397 398@ MSG_HELP_E_SHNUM " \ 399 Examine or modify the number of entries in the section header\n\ 400 table. This information is found in the e_shnum field of the\n\ 401 ELF header, or in the sh_size field of the first section header\n\ 402 in the case of extended section indexes.\n\ 403 \n\ 404 If the number of sections is greater than or equal to\n\ 405 SHN_LORESERVE (0xff00), e_shnum has the value zero, and\n\ 406 the actual number of section header table entries is\n\ 407 contained in the sh_size field of the section header\n\ 408 at index 0.\n\ 409 \n\ 410 If ehdr:e_shnum is called without an argument, the number of\n\ 411 sections is shown. If called with the value argument, the\n\ 412 number of sections is updated with the new value.\n\ 413 \n\ 414 Note: Changing e_shnum and/or the sh_size field of the first\n\ 415 section header does not change the size of the actual section\n\ 416 header array in the file.\n" 417 418 419@ MSG_HELP_E_SHSTRNDX " \ 420 Examine or modify the section table index of the entry that is\n\ 421 associated with the section name string table. This information\n\ 422 is found in the e_shstrndx field of the ELF header, or in the\n\ 423 sh_link field of the first section header in the case of\n\ 424 extended section indexes. If the file has no section name\n\ 425 string table, this member holds the value SHN_UNDEF.\n\ 426 \n\ 427 If the section name string table section index is greater\n\ 428 than or equal to SHN_LORESERVE (0xff00), e_shstrndx has the\n\ 429 value SHN_XINDEX (0xffff) and the actual index of the section\n\ 430 name string table section is contained in the sh_link field of\n\ 431 the section header at index 0.\n\ 432 \n\ 433 If ehdr:e_shstrndx is called without an argument, the index of\n\ 434 the section name string table is shown. If called with the value\n\ 435 argument, the ELF header is updated with the new value.\n\ 436 \n\ 437 Note: The e_shstrndx field of the ELF header must reference\n\ 438 a string table section. Otherwise, diagnostic tools will be\n\ 439 confused by the resulting object.\n" 440 441 442@ MSG_HELP_EI_MAG0 " \ 443 Examine or modify the first byte of the object's \"magic number\".\n\ 444 The magic number is the first 4 bytes of the object file, and is\n\ 445 used to identify it as being an ELF object. This information\n\ 446 is found in the e_ident[EI_MAG0] field of the ELF header.\n\ 447 \n\ 448 If ehdr:ei_mag0 is called without an argument, the value of\n\ 449 e_ident[EI_MAG0] is shown. If called with the value argument,\n\ 450 the e_ident[EI_MAG0] field is updated with the new value.\n\ 451 \n\ 452 Note: Changing the e_ident[EI_MAG0] field of the ELF header\n\ 453 to a value other than 0x7f will cause the system to fail to\n\ 454 identify it as an ELF object.\n" 455 456 457@ MSG_HELP_EI_MAG1 " \ 458 Examine or modify the second byte of the object's \"magic number\".\n\ 459 The magic number is the first 4 bytes of the object file, and is\n\ 460 used to identify it as being an ELF object. This information\n\ 461 is found in the e_ident[EI_MAG1] field of the ELF header.\n\ 462 \n\ 463 If ehdr:ei_mag1 is called without an argument, the value of\n\ 464 e_ident[EI_MAG1] is shown. If called with the value argument,\n\ 465 the e_ident[EI_MAG1] field is updated with the new value.\n\ 466 \n\ 467 Note: Changing the e_ident[EI_MAG1] field of the ELF header\n\ 468 to a value other than 0x45 ('E') will cause the system to\n\ 469 fail to identify it as an ELF object.\n" 470 471 472@ MSG_HELP_EI_MAG2 " \ 473 Examine or modify the third byte of the object's \"magic number\".\n\ 474 The magic number is the first 4 bytes of the object file, and is\n\ 475 used to identify it as being an ELF object. This information\n\ 476 is found in the e_ident[EI_MAG2] field of the ELF header.\n\ 477 \n\ 478 If ehdr:ei_mag2 is called without an argument, the value of\n\ 479 e_ident[EI_MAG2] is shown. If called with the value argument,\n\ 480 the e_ident[EI_MAG2] field is updated with the new value.\n\ 481 \n\ 482 Note: Changing the e_ident[EI_MAG2] field of the ELF header\n\ 483 to a value other than 0x4c ('L') will cause the system to\n\ 484 fail to identify it as an ELF object.\n" 485 486 487@ MSG_HELP_EI_MAG3 " \ 488 Examine or modify the fourth byte of the object's \"magic number\".\n\ 489 The magic number is the first 4 bytes of the object file, and is\n\ 490 used to identify it as being an ELF object. This information\n\ 491 is found in the e_ident[EI_MAG3] field of the ELF header.\n\ 492 \n\ 493 If ehdr:ei_mag3 is called without an argument, the value of\n\ 494 e_ident[EI_MAG3] is shown. If called with the value argument,\n\ 495 e_ident[EI_MAG3] field is updated with the new value.\n\ 496 \n\ 497 Note: Changing the e_ident[EI_MAG3] field of the ELF header\n\ 498 to a value other than 0x46 ('F') will cause the system to\n\ 499 fail to identify it as an ELF object.\n" 500 501 502@ MSG_HELP_EI_CLASS " \ 503 Examine or modify the file's class (system word size). This\n\ 504 information is found in the e_ident[EI_CLASS] field of the\n\ 505 ELF header.\n\ 506 \n\ 507 If ehdr:ei_class is called without an argument, the value of\n\ 508 e_ident[EI_CLASS] is shown. If called with the value argument,\n\ 509 the e_ident[EI_CLASS] field is updated with the new value.\n\ 510 \n\ 511 Note: Changing the e_ident[EI_CLASS] field of the ELF header\n\ 512 does not alter the contents of the file, and is therefore\n\ 513 likely to render the file unusable.\n" 514 515@ MSG_HELP_EI_DATA " \ 516 Examine or modify the file's data encoding (byte order). This\n\ 517 information is found in the e_ident[EI_DATA] field of the\n\ 518 ELF header.\n\ 519 \n\ 520 If ehdr:ei_data is called without an argument, the value of\n\ 521 e_ident[EI_DATA] is shown. If called with the value argument,\n\ 522 the e_ident[EI_DATA] field is updated with the new value.\n\ 523 \n\ 524 Note: Changing the e_ident[EI_DATA] field of the ELF header\n\ 525 does not alter the contents of the file or the byte order\n\ 526 of the data, and is therefore likely to render the file unusable.\n" 527 528 529@ MSG_HELP_EI_VERSION " \ 530 Examine or modify the object file version. This information\n\ 531 is found in the e_ident[EI_VERSION] field of the ELF header.\n\ 532 \n\ 533 If ehdr:ei_version is called without an argument, the value\n\ 534 of e_ident[EI_VERSION] is shown. If called with the value\n\ 535 argument, the e_ident[EI_VERSION] field is updated with the\n\ 536 new value.\n\ 537 \n\ 538 Note: The e_version element of the ELF header also contains\n\ 539 a version value. These two fields should be set to the same\n\ 540 value. Use the ehdr:e_version command to change that element.\n" 541 542 543@ MSG_HELP_EI_OSABI " \ 544 Examine or modify the operating system / ABI identification for\n\ 545 the object. This information is kept in the e_ident[EI_OSABI]\n\ 546 field of the ELF header.\n\ 547 \n\ 548 If ehdr:ei_osabi is called without arguments, current value of\n\ 549 e_ident[EI_OSABI] is shown. If called with the value argument,\n\ 550 the e_ident[EI_OSABI] field is updated with the new value.\n\ 551 \n\ 552 Note: Changing the e_ident[EI_OSABI] field of the ELF header\n\ 553 does not alter the contents of the file, or cause the actual\n\ 554 ABI to be altered. Setting an incompatible ABI value is likely\n\ 555 to cause the object to become unusable.\n" 556 557 558@ MSG_HELP_EI_ABIVERSION " \ 559 Examine or modify the ABI version for the object. This\n\ 560 information is kept in the e_ident[EI_ABIVERSION] field of\n\ 561 the ELF header.\n\ 562 \n\ 563 If ehdr:ei_abiversion is called without arguments, the current\n\ 564 value of e_ident[EI_ABIVERSION] is shown. If called with the\n\ 565 value argument, the e_ident[EI_ABIVERSION] field is updated with\n\ 566 the new value.\n\ 567 \n\ 568 Note: The meaning of the e_ident[EI_ABIVERSION] field of\n\ 569 the ELF header depends on the value of e_ident[EI_OSABI]\n\ 570 (See ehdr:ei_osabi).\n" 571 572 573@ _END_ 574 575 576 577# Strings 578 579@ MSG_STR_EMPTY "" 580@ MSG_STR_NL "\n" 581@ MSG_STR_VALUE "value" 582@ MSG_STR_EIDENT_HDR "e_ident:\n" 583@ MSG_STR_INDEX "index" 584@ MSG_STR_SEC "sec" 585@ MSG_STR_TYPE "type" 586@ MSG_STR_VERSION "version" 587@ MSG_STR_OFFSET "offset" 588@ MSG_STR_FLAGVALUE "flag_value" 589@ MSG_STR_MINUS_SHNDX "-shndx" 590@ MSG_STR_MINUS_SHTYP "-shtyp" 591@ MSG_STR_SH_INFO "sh_info" 592@ MSG_STR_SH_LINK "sh_link" 593@ MSG_STR_SH_SIZE "sh_size" 594 595 596# Format strings 597@ MSG_FMT_BKTSTR "[%s]" 598@ MSG_FMT_BKTINT "[%d]" 599@ MSG_FMT_STRNL "%s\n" 600@ MSG_FMT_DECNUMNL "%d\n" 601@ MSG_FMT_HEXNUM "%#x" 602@ MSG_FMT_HEXNUMNL "%#x\n" 603@ MSG_FMT_HEXNUM_QCHR "%#x ('%c')" 604@ MSG_FMT_EI_ELT " %-18s%s\n" 605 606 607 608 609# The following strings represent reserved words, files, pathnames and symbols. 610# Reference to this strings is via the MSG_ORIG() macro, and thus no message 611# translation is required. 612 613 614# Module name 615 616@ MSG_MOD_NAME "ehdr" 617 618 619# Command names 620 621@ MSG_CMD_DUMP "dump" 622 623@ MSG_CMD_E_IDENT "e_ident" 624@ MSG_CMD_E_TYPE "e_type" 625@ MSG_CMD_E_MACHINE "e_machine" 626@ MSG_CMD_E_VERSION "e_version" 627@ MSG_CMD_E_ENTRY "e_entry" 628@ MSG_CMD_E_PHOFF "e_phoff" 629@ MSG_CMD_E_SHOFF "e_shoff" 630@ MSG_CMD_E_FLAGS "e_flags" 631@ MSG_CMD_E_EHSIZE "e_ehsize" 632@ MSG_CMD_E_PHENTSIZE "e_phentsize" 633@ MSG_CMD_E_PHNUM "e_phnum" 634@ MSG_CMD_E_SHENTSIZE "e_shentsize" 635@ MSG_CMD_E_SHNUM "e_shnum" 636@ MSG_CMD_E_SHSTRNDX "e_shstrndx" 637 638@ MSG_CMD_EI_MAG0 "ei_mag0" 639@ MSG_CMD_EI_MAG1 "ei_mag1" 640@ MSG_CMD_EI_MAG2 "ei_mag2" 641@ MSG_CMD_EI_MAG3 "ei_mag3" 642@ MSG_CMD_EI_CLASS "ei_class" 643@ MSG_CMD_EI_DATA "ei_data" 644@ MSG_CMD_EI_VERSION "ei_version" 645@ MSG_CMD_EI_OSABI "ei_osabi" 646@ MSG_CMD_EI_ABIVERSION "ei_abiversion" 647