00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef _SYS_EXEC_ELF_H_
00038 #define _SYS_EXEC_ELF_H_
00039
00040
00041
00042
00043
00044
00045
00046
00047 #include <sysinterf/types.h>
00048 #include <machdep/elf_machdep.h>
00049
00050 typedef u_int8_t Elf_Byte;
00051
00052 typedef u_int32_t Elf32_Addr;
00053 #define ELF32_FSZ_ADDR 4
00054 typedef u_int32_t Elf32_Off;
00055 #define ELF32_FSZ_OFF 4
00056 typedef int32_t Elf32_Sword;
00057 #define ELF32_FSZ_SWORD 4
00058 typedef u_int32_t Elf32_Word;
00059 #define ELF32_FSZ_WORD 4
00060 typedef u_int16_t Elf32_Half;
00061 #define ELF32_FSZ_HALF 2
00062
00063 typedef u_int64_t Elf64_Addr;
00064 #define ELF64_FSZ_ADDR 8
00065 typedef u_int64_t Elf64_Off;
00066 #define ELF64_FSZ_OFF 8
00067 typedef int32_t Elf64_Shalf;
00068 #define ELF64_FSZ_SHALF 4
00069
00070 #ifndef ELF64_FSZ_SWORD
00071 typedef int32_t Elf64_Sword;
00072 #define ELF64_FSZ_SWORD 4
00073 #endif
00074 #ifndef ELF64_FSZ_WORD
00075 typedef u_int32_t Elf64_Word;
00076 #define ELF64_FSZ_WORD 4
00077 #endif
00078
00079 typedef int64_t Elf64_Sxword;
00080 #define ELF64_FSZ_XWORD 8
00081 typedef u_int64_t Elf64_Xword;
00082 #define ELF64_FSZ_XWORD 8
00083 typedef u_int32_t Elf64_Half;
00084 #define ELF64_FSZ_HALF 4
00085 typedef u_int16_t Elf64_Quarter;
00086 #define ELF64_FSZ_QUARTER 2
00087
00088
00089
00090
00091 #define ELF_NIDENT 16
00092
00093 typedef struct {
00094 unsigned char e_ident[ELF_NIDENT];
00095 Elf32_Half e_type;
00096 Elf32_Half e_machine;
00097 Elf32_Word e_version;
00098 Elf32_Addr e_entry;
00099 Elf32_Off e_phoff;
00100 Elf32_Off e_shoff;
00101 Elf32_Word e_flags;
00102 Elf32_Half e_ehsize;
00103 Elf32_Half e_phentsize;
00104 Elf32_Half e_phnum;
00105 Elf32_Half e_shentsize;
00106 Elf32_Half e_shnum;
00107 Elf32_Half e_shstrndx;
00108 } Elf32_Ehdr;
00109
00110 typedef struct {
00111 unsigned char e_ident[ELF_NIDENT];
00112 Elf64_Quarter e_type;
00113 Elf64_Quarter e_machine;
00114 Elf64_Half e_version;
00115 Elf64_Addr e_entry;
00116 Elf64_Off e_phoff;
00117 Elf64_Off e_shoff;
00118 Elf64_Half e_flags;
00119 Elf64_Quarter e_ehsize;
00120 Elf64_Quarter e_phentsize;
00121 Elf64_Quarter e_phnum;
00122 Elf64_Quarter e_shentsize;
00123 Elf64_Quarter e_shnum;
00124 Elf64_Quarter e_shstrndx;
00125 } Elf64_Ehdr;
00126
00127
00128 #define EI_MAG0 0
00129 #define EI_MAG1 1
00130 #define EI_MAG2 2
00131 #define EI_MAG3 3
00132 #define EI_CLASS 4
00133 #define EI_DATA 5
00134 #define EI_VERSION 6
00135 #define EI_OSABI 7
00136 #define EI_ABIVERSION 8
00137 #define EI_PAD 9
00138
00139
00140 #define ELFMAG0 0x7f
00141 #define ELFMAG1 'E'
00142 #define ELFMAG2 'L'
00143 #define ELFMAG3 'F'
00144 #define ELFMAG "\177ELF"
00145 #define SELFMAG 4
00146
00147
00148 #define ELFCLASSNONE 0
00149 #define ELFCLASS32 1
00150 #define ELFCLASS64 2
00151 #define ELFCLASSNUM 3
00152
00153
00154 #define ELFDATANONE 0
00155 #define ELFDATA2LSB 1
00156 #define ELFDATA2MSB 2
00157
00158
00159 #define EV_NONE 0
00160 #define EV_CURRENT 1
00161 #define EV_NUM 2
00162
00163
00164 #define ELFOSABI_SYSV 0
00165 #define ELFOSABI_HPUX 1
00166 #define ELFOSABI_NETBSD 2
00167 #define ELFOSABI_LINUX 3
00168 #define ELFOSABI_HURD 4
00169 #define ELFOSABI_86OPEN 5
00170 #define ELFOSABI_SOLARIS 6
00171 #define ELFOSABI_MONTEREY 7
00172 #define ELFOSABI_IRIX 8
00173 #define ELFOSABI_FREEBSD 9
00174 #define ELFOSABI_TRU64 10
00175 #define ELFOSABI_MODESTO 11
00176 #define ELFOSABI_OPENBSD 12
00177
00178 #define ELFOSABI_ARM 97
00179 #define ELFOSABI_STANDALONE 255
00180
00181
00182 #define ET_NONE 0
00183 #define ET_REL 1
00184 #define ET_EXEC 2
00185 #define ET_DYN 3
00186 #define ET_CORE 4
00187 #define ET_NUM 5
00188
00189 #define ET_LOOS 0xfe00
00190 #define ET_HIOS 0xfeff
00191 #define ET_LOPROC 0xff00
00192 #define ET_HIPROC 0xffff
00193
00194
00195 #define EM_NONE 0
00196 #define EM_M32 1
00197 #define EM_SPARC 2
00198 #define EM_386 3
00199 #define EM_68K 4
00200 #define EM_88K 5
00201 #define EM_486 6
00202 #define EM_860 7
00203 #define EM_MIPS 8
00204 #define EM_S370 9
00205 #define EM_MIPS_RS3_LE 10
00206
00207 #define EM_RS6000 11
00208 #define EM_PARISC 15
00209 #define EM_NCUBE 16
00210 #define EM_VPP500 17
00211 #define EM_SPARC32PLUS 18
00212 #define EM_960 19
00213 #define EM_PPC 20
00214 #define EM_PPC64 21
00215
00216 #define EM_V800 36
00217 #define EM_FR20 37
00218 #define EM_RH32 38
00219 #define EM_RCE 39
00220 #define EM_ARM 40
00221 #define EM_ALPHA 41
00222 #define EM_SH 42
00223 #define EM_SPARCV9 43
00224 #define EM_TRICORE 44
00225 #define EM_ARC 45
00226 #define EM_H8_300 46
00227 #define EM_H8_300H 47
00228 #define EM_H8S 48
00229 #define EM_H8_500 49
00230 #define EM_IA_64 50
00231 #define EM_MIPS_X 51
00232 #define EM_COLDFIRE 52
00233 #define EM_68HC12 53
00234 #define EM_MMA 54
00235 #define EM_PCP 55
00236 #define EM_NCPU 56
00237 #define EM_NDR1 57
00238 #define EM_STARCORE 58
00239 #define EM_ME16 59
00240 #define EM_ST100 60
00241 #define EM_TINYJ 61
00242 #define EM_X86_64 62
00243 #define EM_PDSP 63
00244
00245 #define EM_FX66 66
00246 #define EM_ST9PLUS 67
00247 #define EM_ST7 68
00248 #define EM_68HC16 69
00249 #define EM_68HC11 70
00250 #define EM_68HC08 71
00251 #define EM_68HC05 72
00252 #define EM_SVX 73
00253 #define EM_ST19 74
00254 #define EM_VAX 75
00255 #define EM_CRIS 76
00256 #define EM_JAVELIN 77
00257 #define EM_FIREPATH 78
00258 #define EM_ZSP 79
00259 #define EM_MMIX 80
00260 #define EM_HUANY 81
00261 #define EM_PRISM 82
00262 #define EM_AVR 83
00263 #define EM_FR30 84
00264 #define EM_D10V 85
00265 #define EM_D30V 86
00266 #define EM_V850 87
00267 #define EM_M32R 88
00268 #define EM_MN10300 89
00269 #define EM_MN10200 90
00270 #define EM_PJ 91
00271 #define EM_OPENRISC 92
00272 #define EM_ARC_A5 93
00273 #define EM_XTENSA 94
00274 #define EM_NS32K 97
00275
00276
00277 #define EM_ALPHA_EXP 36902
00278 #define EM_NUM 36903
00279
00280
00281
00282
00283 typedef struct {
00284 Elf32_Word p_type;
00285 Elf32_Off p_offset;
00286 Elf32_Addr p_vaddr;
00287 Elf32_Addr p_paddr;
00288 Elf32_Word p_filesz;
00289 Elf32_Word p_memsz;
00290 Elf32_Word p_flags;
00291 Elf32_Word p_align;
00292 } Elf32_Phdr;
00293
00294 typedef struct {
00295 Elf64_Half p_type;
00296 Elf64_Half p_flags;
00297 Elf64_Off p_offset;
00298 Elf64_Addr p_vaddr;
00299 Elf64_Addr p_paddr;
00300 Elf64_Xword p_filesz;
00301 Elf64_Xword p_memsz;
00302 Elf64_Xword p_align;
00303 } Elf64_Phdr;
00304
00305
00306 #define PT_NULL 0
00307 #define PT_LOAD 1
00308 #define PT_DYNAMIC 2
00309 #define PT_INTERP 3
00310 #define PT_NOTE 4
00311 #define PT_SHLIB 5
00312 #define PT_PHDR 6
00313 #define PT_NUM 7
00314
00315
00316 #define PF_R 0x4
00317 #define PF_W 0x2
00318 #define PF_X 0x1
00319
00320 #define PF_MASKOS 0x0ff00000
00321 #define PF_MASKPROC 0xf0000000
00322
00323 #define PT_LOPROC 0x70000000
00324 #define PT_HIPROC 0x7fffffff
00325
00326 #define PT_MIPS_REGINFO 0x70000000
00327
00328
00329
00330
00331 typedef struct {
00332 Elf32_Word sh_name;
00333 Elf32_Word sh_type;
00334 Elf32_Word sh_flags;
00335 Elf32_Addr sh_addr;
00336 Elf32_Off sh_offset;
00337 Elf32_Word sh_size;
00338 Elf32_Word sh_link;
00339 Elf32_Word sh_info;
00340 Elf32_Word sh_addralign;
00341 Elf32_Word sh_entsize;
00342 } Elf32_Shdr;
00343
00344 typedef struct {
00345 Elf64_Half sh_name;
00346 Elf64_Half sh_type;
00347 Elf64_Xword sh_flags;
00348 Elf64_Addr sh_addr;
00349 Elf64_Off sh_offset;
00350 Elf64_Xword sh_size;
00351 Elf64_Half sh_link;
00352 Elf64_Half sh_info;
00353 Elf64_Xword sh_addralign;
00354 Elf64_Xword sh_entsize;
00355 } Elf64_Shdr;
00356
00357
00358 #define SHT_NULL 0
00359 #define SHT_PROGBITS 1
00360 #define SHT_SYMTAB 2
00361 #define SHT_STRTAB 3
00362 #define SHT_RELA 4
00363 #define SHT_HASH 5
00364 #define SHT_DYNAMIC 6
00365 #define SHT_NOTE 7
00366 #define SHT_NOBITS 8
00367 #define SHT_REL 9
00368 #define SHT_SHLIB 10
00369 #define SHT_DYNSYM 11
00370 #define SHT_NUM 12
00371
00372 #define SHT_LOOS 0x60000000
00373 #define SHT_HIOS 0x6fffffff
00374 #define SHT_LOPROC 0x70000000
00375 #define SHT_HIPROC 0x7fffffff
00376 #define SHT_LOUSER 0x80000000
00377 #define SHT_HIUSER 0xffffffff
00378
00379
00380 #define SHF_WRITE 0x1
00381 #define SHF_ALLOC 0x2
00382 #define SHF_EXECINSTR 0x4
00383
00384 #define SHF_MASKOS 0x0f000000
00385 #define SHF_MASKPROC 0xf0000000
00386
00387
00388
00389
00390 typedef struct {
00391 Elf32_Word st_name;
00392 Elf32_Word st_value;
00393 Elf32_Word st_size;
00394 Elf_Byte st_info;
00395 Elf_Byte st_other;
00396 Elf32_Half st_shndx;
00397 } Elf32_Sym;
00398
00399 typedef struct {
00400 Elf64_Half st_name;
00401 Elf_Byte st_info;
00402 Elf_Byte st_other;
00403 Elf64_Quarter st_shndx;
00404 Elf64_Addr st_value;
00405 Elf64_Xword st_size;
00406 } Elf64_Sym;
00407
00408
00409 #define ELF_SYM_UNDEFINED 0
00410
00411
00412 #define STB_LOCAL 0
00413 #define STB_GLOBAL 1
00414 #define STB_WEAK 2
00415 #define STB_NUM 3
00416
00417 #define STB_LOOS 10
00418 #define STB_HIOS 12
00419 #define STB_LOPROC 13
00420 #define STB_HIPROC 15
00421
00422
00423 #define STT_NOTYPE 0
00424 #define STT_OBJECT 1
00425 #define STT_FUNC 2
00426 #define STT_SECTION 3
00427 #define STT_FILE 4
00428 #define STT_NUM 5
00429
00430 #define STT_LOOS 10
00431 #define STT_HIOS 12
00432 #define STT_LOPROC 13
00433 #define STT_HIPROC 15
00434
00435
00436 #define ELF32_ST_BIND(info) ((Elf32_Word)(info) >> 4)
00437 #define ELF32_ST_TYPE(info) ((Elf32_Word)(info) & 0xf)
00438 #define ELF32_ST_INFO(bind,type) ((Elf_Byte)(((bind) << 4) | ((type) & 0xf)))
00439
00440 #define ELF64_ST_BIND(info) ((Elf64_Xword)(info) >> 4)
00441 #define ELF64_ST_TYPE(info) ((Elf64_Xword)(info) & 0xf)
00442 #define ELF64_ST_INFO(bind,type) ((Elf_Byte)(((bind) << 4) | ((type) & 0xf)))
00443
00444
00445
00446
00447 #define SHN_UNDEF 0
00448
00449 #define SHN_LORESERVE 0xff00
00450 #define SHN_ABS 0xfff1
00451 #define SHN_COMMON 0xfff2
00452 #define SHN_HIRESERVE 0xffff
00453
00454 #define SHN_LOPROC 0xff00
00455 #define SHN_HIPROC 0xff1f
00456 #define SHN_LOOS 0xff20
00457 #define SHN_HIOS 0xff3f
00458
00459 #define SHN_MIPS_ACOMMON 0xff00
00460 #define SHN_MIPS_TEXT 0xff01
00461 #define SHN_MIPS_DATA 0xff02
00462 #define SHN_MIPS_SCOMMON 0xff03
00463
00464
00465
00466
00467 typedef struct {
00468 Elf32_Word r_offset;
00469 Elf32_Word r_info;
00470 } Elf32_Rel;
00471
00472 typedef struct {
00473 Elf32_Word r_offset;
00474 Elf32_Word r_info;
00475 Elf32_Sword r_addend;
00476 } Elf32_Rela;
00477
00478
00479 #define ELF32_R_SYM(info) ((info) >> 8)
00480 #define ELF32_R_TYPE(info) ((info) & 0xff)
00481 #define ELF32_R_INFO(sym, type) (((sym) << 8) + (unsigned char)(type))
00482
00483 typedef struct {
00484 Elf64_Addr r_offset;
00485 Elf64_Xword r_info;
00486 } Elf64_Rel;
00487
00488 typedef struct {
00489 Elf64_Addr r_offset;
00490 Elf64_Xword r_info;
00491 Elf64_Sxword r_addend;
00492 } Elf64_Rela;
00493
00494
00495 #define ELF64_R_SYM(info) ((info) >> 32)
00496 #define ELF64_R_TYPE(info) ((info) & 0xffffffff)
00497 #define ELF64_R_INFO(sym,type) (((sym) << 32) + (type))
00498
00499
00500
00501
00502 typedef struct {
00503 Elf32_Word d_tag;
00504 union {
00505 Elf32_Addr d_ptr;
00506 Elf32_Word d_val;
00507 } d_un;
00508 } Elf32_Dyn;
00509
00510 typedef struct {
00511 Elf64_Xword d_tag;
00512 union {
00513 Elf64_Addr d_ptr;
00514 Elf64_Xword d_val;
00515 } d_un;
00516 } Elf64_Dyn;
00517
00518
00519 #define DT_NULL 0
00520 #define DT_NEEDED 1
00521 #define DT_PLTRELSZ 2
00522 #define DT_PLTGOT 3
00523 #define DT_HASH 4
00524 #define DT_STRTAB 5
00525 #define DT_SYMTAB 6
00526 #define DT_RELA 7
00527 #define DT_RELASZ 8
00528 #define DT_RELAENT 9
00529 #define DT_STRSZ 10
00530 #define DT_SYMENT 11
00531 #define DT_INIT 12
00532 #define DT_FINI 13
00533 #define DT_SONAME 14
00534 #define DT_RPATH 15
00535 #define DT_SYMBOLIC 16
00536 #define DT_REL 17
00537 #define DT_RELSZ 18
00538 #define DT_RELENT 19
00539 #define DT_PLTREL 20
00540 #define DT_DEBUG 21
00541 #define DT_TEXTREL 22
00542 #define DT_JMPREL 23
00543 #define DT_BIND_NOW 24
00544 #define DT_INIT_ARRAY 25
00545 #define DT_FINI_ARRAY 26
00546 #define DT_INIT_ARRAYSZ 27
00547 #define DT_FINI_ARRAYSZ 28
00548 #define DT_NUM 29
00549
00550 #define DT_LOOS 0x60000000
00551 #define DT_HIOS 0x6fffffff
00552 #define DT_LOPROC 0x70000000
00553 #define DT_HIPROC 0x7fffffff
00554
00555
00556
00557
00558 typedef struct {
00559 Elf32_Word a_type;
00560 Elf32_Word a_v;
00561 } Aux32Info;
00562
00563 typedef struct {
00564 Elf64_Half a_type;
00565 Elf64_Xword a_v;
00566 } Aux64Info;
00567
00568
00569 #define AT_NULL 0
00570 #define AT_IGNORE 1
00571 #define AT_EXECFD 2
00572 #define AT_PHDR 3
00573 #define AT_PHENT 4
00574 #define AT_PHNUM 5
00575 #define AT_PAGESZ 6
00576 #define AT_BASE 7
00577 #define AT_FLAGS 8
00578 #define AT_ENTRY 9
00579 #define AT_DCACHEBSIZE 10
00580 #define AT_ICACHEBSIZE 11
00581 #define AT_UCACHEBSIZE 12
00582
00583
00584 #define AT_MIPS_NOTELF 10
00585
00586 #define AT_SUN_UID 2000
00587 #define AT_SUN_RUID 2001
00588 #define AT_SUN_GID 2002
00589 #define AT_SUN_RGID 2003
00590
00591
00592 #define AT_SUN_LDELF 2004
00593 #define AT_SUN_LDSHDR 2005
00594 #define AT_SUN_LDNAME 2006
00595 #define AT_SUN_LPGSIZE 2007
00596
00597
00598 #define AT_SUN_PLATFORM 2008
00599 #define AT_SUN_HWCAP 2009
00600 #define AT_SUN_IFLUSH 2010
00601 #define AT_SUN_CPU 2011
00602
00603 #define AT_SUN_EMUL_ENTRY 2012
00604 #define AT_SUN_EMUL_EXECFD 2013
00605
00606 #define AT_SUN_EXECNAME 2014
00607
00608
00609
00610
00611 typedef struct {
00612 Elf32_Word n_namesz;
00613 Elf32_Word n_descsz;
00614 Elf32_Word n_type;
00615 } Elf32_Nhdr;
00616
00617 typedef struct {
00618 Elf64_Half n_namesz;
00619 Elf64_Half n_descsz;
00620 Elf64_Half n_type;
00621 } Elf64_Nhdr;
00622
00623 #define ELF_NOTE_TYPE_ABI_TAG 1
00624
00625
00626 #define ELF_NOTE_ABI_NAMESZ 4
00627 #define ELF_NOTE_ABI_DESCSZ 16
00628
00629 #define ELF_NOTE_ABI_NAME "GNU\0"
00630
00631
00632 #define ELF_NOTE_ABI_OS_LINUX 0
00633 #define ELF_NOTE_ABI_OS_HURD 1
00634 #define ELF_NOTE_ABI_OS_SOLARIS 2
00635
00636
00637 #define ELF_NOTE_TYPE_NETBSD_TAG 1
00638
00639
00640 #define ELF_NOTE_NETBSD_NAMESZ 7
00641 #define ELF_NOTE_NETBSD_DESCSZ 4
00642
00643 #define ELF_NOTE_NETBSD_NAME "NetBSD\0\0"
00644
00645
00646
00647
00648
00649
00650
00651
00652
00653
00654
00655
00656
00657
00658
00659
00660
00661
00662
00663
00664
00665
00666
00667
00668 #define ELF_NOTE_NETBSD_CORE_NAME "NetBSD-CORE"
00669
00670 #define ELF_NOTE_NETBSD_CORE_PROCINFO 1
00671
00672 #define NETBSD_ELFCORE_PROCINFO_VERSION 1
00673
00674 struct netbsd_elfcore_procinfo {
00675
00676 u_int32_t cpi_version;
00677 u_int32_t cpi_cpisize;
00678 u_int32_t cpi_signo;
00679 u_int32_t cpi_sigcode;
00680 u_int32_t cpi_sigpend[4];
00681 u_int32_t cpi_sigmask[4];
00682 u_int32_t cpi_sigignore[4];
00683 u_int32_t cpi_sigcatch[4];
00684 int32_t cpi_pid;
00685 int32_t cpi_ppid;
00686 int32_t cpi_pgrp;
00687 int32_t cpi_sid;
00688 u_int32_t cpi_ruid;
00689 u_int32_t cpi_euid;
00690 u_int32_t cpi_svuid;
00691 u_int32_t cpi_rgid;
00692 u_int32_t cpi_egid;
00693 u_int32_t cpi_svgid;
00694 u_int32_t cpi_nlwps;
00695 int8_t cpi_name[32];
00696
00697 };
00698
00699 #if defined(ELFSIZE)
00700 #define CONCAT(x,y) __CONCAT(x,y)
00701 #define ELFNAME(x) CONCAT(elf,CONCAT(ELFSIZE,CONCAT(_,x)))
00702 #define ELFNAME2(x,y) CONCAT(x,CONCAT(_elf,CONCAT(ELFSIZE,CONCAT(_,y))))
00703 #define ELFNAMEEND(x) CONCAT(x,CONCAT(_elf,ELFSIZE))
00704 #define ELFDEFNNAME(x) CONCAT(ELF,CONCAT(ELFSIZE,CONCAT(_,x)))
00705 #endif
00706
00707 #if defined(ELFSIZE) && (ELFSIZE == 32)
00708 #define Elf_Ehdr Elf32_Ehdr
00709 #define Elf_Phdr Elf32_Phdr
00710 #define Elf_Shdr Elf32_Shdr
00711 #define Elf_Sym Elf32_Sym
00712 #define Elf_Rel Elf32_Rel
00713 #define Elf_Rela Elf32_Rela
00714 #define Elf_Dyn Elf32_Dyn
00715 #define Elf_Word Elf32_Word
00716 #define Elf_Sword Elf32_Sword
00717 #define Elf_Addr Elf32_Addr
00718 #define Elf_Off Elf32_Off
00719 #define Elf_Nhdr Elf32_Nhdr
00720
00721 #define ELF_R_SYM ELF32_R_SYM
00722 #define ELF_R_TYPE ELF32_R_TYPE
00723 #define ELFCLASS ELFCLASS32
00724
00725 #define ELF_ST_BIND ELF32_ST_BIND
00726 #define ELF_ST_TYPE ELF32_ST_TYPE
00727 #define ELF_ST_INFO ELF32_ST_INFO
00728
00729 #define AuxInfo Aux32Info
00730 #elif defined(ELFSIZE) && (ELFSIZE == 64)
00731 #define Elf_Ehdr Elf64_Ehdr
00732 #define Elf_Phdr Elf64_Phdr
00733 #define Elf_Shdr Elf64_Shdr
00734 #define Elf_Sym Elf64_Sym
00735 #define Elf_Rel Elf64_Rel
00736 #define Elf_Rela Elf64_Rela
00737 #define Elf_Dyn Elf64_Dyn
00738 #define Elf_Word Elf64_Word
00739 #define Elf_Sword Elf64_Sword
00740 #define Elf_Addr Elf64_Addr
00741 #define Elf_Off Elf64_Off
00742 #define Elf_Nhdr Elf64_Nhdr
00743
00744 #define ELF_R_SYM ELF64_R_SYM
00745 #define ELF_R_TYPE ELF64_R_TYPE
00746 #define ELFCLASS ELFCLASS64
00747
00748 #define ELF_ST_BIND ELF64_ST_BIND
00749 #define ELF_ST_TYPE ELF64_ST_TYPE
00750 #define ELF_ST_INFO ELF64_ST_INFO
00751
00752 #define AuxInfo Aux64Info
00753 #endif
00754
00755 #endif