Changeset b58728f in mainline for abi/include/abi/elf.h
- Timestamp:
- 2019-04-10T15:04:17Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 84176f3
- Parents:
- b1478ff
- git-author:
- Petr Pavlu <setup@…> (2019-03-31 13:00:13)
- git-committer:
- Jakub Jermář <jakub@…> (2019-04-10 15:04:17)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
abi/include/abi/elf.h
rb1478ff rb58728f 245 245 246 246 /** 247 * Dynamic array tags 248 */ 249 enum elf_dynamic_tag { 250 DT_NULL = 0, 251 DT_NEEDED = 1, 252 DT_PLTRELSZ = 2, 253 DT_PLTGOT = 3, 254 DT_HASH = 4, 255 DT_STRTAB = 5, 256 DT_SYMTAB = 6, 257 DT_RELA = 7, 258 DT_RELASZ = 8, 259 DT_RELAENT = 9, 260 DT_STRSZ = 10, 261 DT_SYMENT = 11, 262 DT_INIT = 12, 263 DT_FINI = 13, 264 DT_SONAME = 14, 265 DT_RPATH = 15, 266 DT_SYMBOLIC = 16, 267 DT_REL = 17, 268 DT_RELSZ = 18, 269 DT_RELENT = 19, 270 DT_PLTREL = 20, 271 DT_DEBUG = 21, 272 DT_TEXTREL = 22, 273 DT_JMPREL = 23, 274 DT_BIND_NOW = 24, 275 DT_LOPROC = 0x70000000, 276 DT_HIPROC = 0x7fffffff, 277 }; 278 279 /** 280 * Special section indexes 281 */ 282 enum { 283 SHN_UNDEF = 0, 284 SHN_LORESERVE = 0xff00, 285 SHN_LOPROC = 0xff00, 286 SHN_HIPROC = 0xff1f, 287 SHN_ABS = 0xfff1, 288 SHN_COMMON = 0xfff2, 289 SHN_HIRESERVE = 0xffff, 290 }; 291 292 /** 293 * Special symbol table index 294 */ 295 enum { 296 STN_UNDEF = 0, 297 }; 298 299 /** 247 300 * ELF data types 248 301 * … … 406 459 }; 407 460 461 /** 462 * Dynamic structure 463 */ 464 struct elf32_dyn { 465 elf_sword d_tag; 466 union { 467 elf_word d_val; 468 elf32_addr d_ptr; 469 } d_un; 470 }; 471 472 struct elf64_dyn { 473 elf_sxword d_tag; 474 union { 475 elf_xword d_val; 476 elf64_addr d_ptr; 477 } d_un; 478 }; 479 480 struct elf32_rel { 481 elf32_addr r_offset; 482 elf_word r_info; 483 }; 484 485 struct elf32_rela { 486 elf32_addr r_offset; 487 elf_word r_info; 488 elf_sword r_addend; 489 }; 490 491 struct elf64_rel { 492 elf64_addr r_offset; 493 elf_xword r_info; 494 }; 495 496 struct elf64_rela { 497 elf64_addr r_offset; 498 elf_xword r_info; 499 elf_sxword r_addend; 500 }; 501 502 #define ELF32_R_SYM(i) ((i) >> 8) 503 #define ELF32_R_TYPE(i) ((unsigned char)(i)) 504 505 #define ELF64_R_SYM(i) ((i) >> 32) 506 #define ELF64_R_TYPE(i) ((i) & 0xffffffffL) 507 408 508 #ifdef __32_BITS__ 409 509 typedef struct elf32_header elf_header_t; … … 412 512 typedef struct elf32_symbol elf_symbol_t; 413 513 typedef struct elf32_note elf_note_t; 514 typedef struct elf32_dyn elf_dyn_t; 515 typedef struct elf32_rel elf_rel_t; 516 typedef struct elf32_rela elf_rela_t; 414 517 #endif 415 518 … … 420 523 typedef struct elf64_symbol elf_symbol_t; 421 524 typedef struct elf64_note elf_note_t; 525 typedef struct elf64_dyn elf_dyn_t; 526 typedef struct elf64_rel elf_rel_t; 527 typedef struct elf64_rela elf_rela_t; 422 528 #endif 423 529
Note:
See TracChangeset
for help on using the changeset viewer.