#ifndef QEMU_ELF_H
#define QEMU_ELF_H

/* 32-bit ELF base types. */
typedef uint32_t Elf32_Addr;
typedef uint16_t Elf32_Half;
typedef uint32_t Elf32_Off;
typedef int32_t  Elf32_Sword;
typedef uint32_t Elf32_Word;

/* 64-bit ELF base types. */
typedef uint64_t Elf64_Addr;
typedef uint16_t Elf64_Half;
typedef int16_t  Elf64_SHalf;
typedef uint64_t Elf64_Off;
typedef int32_t  Elf64_Sword;
typedef uint32_t Elf64_Word;
typedef uint64_t Elf64_Xword;
typedef int64_t  Elf64_Sxword;

/* These constants are for the segment types stored in the image headers */
#define PT_NULL           0
#define PT_LOAD           1
#define PT_DYNAMIC        2
#define PT_INTERP         3
#define PT_NOTE           4
#define PT_SHLIB          5
#define PT_PHDR           6
#define PT_LOOS           0x60000000
#define PT_HIOS           0x6fffffff
#define PT_LOPROC         0x70000000
#define PT_HIPROC         0x7fffffff

#define PT_GNU_STACK      (PT_LOOS + 0x474e551)
#define PT_GNU_PROPERTY   (PT_LOOS + 0x474e553)

#define PT_MIPS_REGINFO   0x70000000
#define PT_MIPS_RTPROC    0x70000001
#define PT_MIPS_OPTIONS   0x70000002
#define PT_MIPS_ABIFLAGS  0x70000003

/* Flags in the e_flags field of the header */
/* MIPS architecture level. */
#define EF_MIPS_ARCH          0xf0000000

/* Legal values for MIPS architecture level.  */
#define EF_MIPS_ARCH_1        0x00000000      /* -mips1 code.  */
#define EF_MIPS_ARCH_2        0x10000000      /* -mips2 code.  */
#define EF_MIPS_ARCH_3        0x20000000      /* -mips3 code.  */
#define EF_MIPS_ARCH_4        0x30000000      /* -mips4 code.  */
#define EF_MIPS_ARCH_5        0x40000000      /* -mips5 code.  */
#define EF_MIPS_ARCH_32       0x50000000      /* MIPS32 code.  */
#define EF_MIPS_ARCH_64       0x60000000      /* MIPS64 code.  */
#define EF_MIPS_ARCH_32R2     0x70000000      /* MIPS32r2 code.  */
#define EF_MIPS_ARCH_64R2     0x80000000      /* MIPS64r2 code.  */
#define EF_MIPS_ARCH_32R6     0x90000000      /* MIPS32r6 code.  */
#define EF_MIPS_ARCH_64R6     0xa0000000      /* MIPS64r6 code.  */

/* The ABI of a file. */
#define EF_MIPS_ABI_O32       0x00001000      /* O32 ABI.  */
#define EF_MIPS_ABI_O64       0x00002000      /* O32 extended for 64 bit.  */

#define EF_MIPS_NOREORDER     0x00000001
#define EF_MIPS_PIC           0x00000002
#define EF_MIPS_CPIC          0x00000004
#define EF_MIPS_ABI2          0x00000020
#define EF_MIPS_OPTIONS_FIRST 0x00000080
#define EF_MIPS_32BITMODE     0x00000100
#define EF_MIPS_ABI           0x0000f000
#define EF_MIPS_FP64          0x00000200
#define EF_MIPS_NAN2008       0x00000400

/* MIPS machine variant */
#define EF_MIPS_MACH_NONE     0x00000000  /* A standard MIPS implementation  */
#define EF_MIPS_MACH_3900     0x00810000  /* Toshiba R3900                   */
#define EF_MIPS_MACH_4010     0x00820000  /* LSI R4010                       */
#define EF_MIPS_MACH_4100     0x00830000  /* NEC VR4100                      */
#define EF_MIPS_MACH_4650     0x00850000  /* MIPS R4650                      */
#define EF_MIPS_MACH_4120     0x00870000  /* NEC VR4120                      */
#define EF_MIPS_MACH_4111     0x00880000  /* NEC VR4111/VR4181               */
#define EF_MIPS_MACH_SB1      0x008a0000  /* Broadcom SB-1                   */
#define EF_MIPS_MACH_OCTEON   0x008b0000  /* Cavium Networks Octeon          */
#define EF_MIPS_MACH_XLR      0x008c0000  /* RMI Xlr                         */
#define EF_MIPS_MACH_OCTEON2  0x008d0000  /* Cavium Networks Octeon2         */
#define EF_MIPS_MACH_OCTEON3  0x008e0000  /* Cavium Networks Octeon3         */
#define EF_MIPS_MACH_5400     0x00910000  /* NEC VR5400                      */
#define EF_MIPS_MACH_5900     0x00920000  /* Toshiba/Sony R5900              */
#define EF_MIPS_MACH_5500     0x00980000  /* NEC VR5500                      */
#define EF_MIPS_MACH_9000     0x00990000  /* PMC-Sierra RM9000               */
#define EF_MIPS_MACH_LS2E     0x00a00000  /* ST Microelectronics Loongson 2E */
#define EF_MIPS_MACH_LS2F     0x00a10000  /* ST Microelectronics Loongson 2F */
#define EF_MIPS_MACH_LS3A     0x00a20000  /* ST Microelectronics Loongson 3A */
#define EF_MIPS_MACH          0x00ff0000  /* EF_MIPS_MACH_xxx selection mask */

#define MIPS_ABI_FP_UNKNOWN   (-1)        /* Unknown FP ABI (internal)       */

#define MIPS_ABI_FP_ANY       0x0         /* FP ABI doesn't matter           */
#define MIPS_ABI_FP_DOUBLE    0x1         /* -mdouble-float                  */
#define MIPS_ABI_FP_SINGLE    0x2         /* -msingle-float                  */
#define MIPS_ABI_FP_SOFT      0x3         /* -msoft-float                    */
#define MIPS_ABI_FP_OLD_64    0x4         /* -mips32r2 -mfp64                */
#define MIPS_ABI_FP_XX        0x5         /* -mfpxx                          */
#define MIPS_ABI_FP_64        0x6         /* -mips32r2 -mfp64                */
#define MIPS_ABI_FP_64A       0x7         /* -mips32r2 -mfp64 -mno-odd-spreg */

typedef struct mips_elf_abiflags_v0 {
  uint16_t version;           /* Version of flags structure                  */
  uint8_t isa_level;          /* The level of the ISA: 1-5, 32, 64           */
  uint8_t isa_rev;            /* The revision of ISA:                        */
                              /*   - 0 for MIPS V and below,                 */
                              /*   - 1-n otherwise.                          */
  uint8_t gpr_size;           /* The size of general purpose registers       */
  uint8_t cpr1_size;          /* The size of co-processor 1 registers        */
  uint8_t cpr2_size;          /* The size of co-processor 2 registers        */
  uint8_t fp_abi;             /* The floating-point ABI                      */
  uint32_t isa_ext;           /* Mask of processor-specific extensions       */
  uint32_t ases;              /* Mask of ASEs used                           */
  uint32_t flags1;            /* Mask of general flags                       */
  uint32_t flags2;
} Mips_elf_abiflags_v0;

/* These constants define the different elf file types */
#define ET_NONE   0
#define ET_REL    1
#define ET_EXEC   2
#define ET_DYN    3
#define ET_CORE   4
#define ET_LOPROC 0xff00
#define ET_HIPROC 0xffff

/* These constants define the various ELF target machines */
#define EM_NONE             0
#define EM_M32              1
#define EM_SPARC            2
#define EM_386              3
#define EM_68K              4
#define EM_88K              5
#define EM_486              6   /* Perhaps disused */
#define EM_860              7

#define EM_MIPS             8   /* MIPS R3000 (officially, big-endian only) */

#define EM_MIPS_RS4_BE      10  /* MIPS R4000 big-endian */

#define EM_PARISC           15  /* HPPA */

#define EM_SPARC32PLUS      18  /* Sun's "v8plus" */

#define EM_PPC              20  /* PowerPC */
#define EM_PPC64            21  /* PowerPC64 */

#define EM_ARM              40  /* ARM */

#define EM_SH               42  /* SuperH */

#define EM_SPARCV9          43  /* SPARC v9 64-bit */

#define EM_TRICORE          44  /* Infineon TriCore */

#define EM_IA_64            50  /* HP/Intel IA-64 */

#define EM_X86_64           62  /* AMD x86-64 */

#define EM_S390             22  /* IBM S/390 */

#define EM_CRIS             76  /* Axis Communications 32-bit embedded processor */

#define EM_AVR              83  /* AVR 8-bit microcontroller */

#define EM_V850             87  /* NEC v850 */

#define EM_H8_300H          47  /* Hitachi H8/300H */
#define EM_H8S              48  /* Hitachi H8S     */
#define EM_LATTICEMICO32    138 /* LatticeMico32 */

#define EM_OPENRISC         92  /* OpenCores OpenRISC */

#define EM_HEXAGON          164 /* Qualcomm Hexagon */

#define EM_RX               173 /* Renesas RX family */

#define EM_RISCV            243 /* RISC-V */

#define EM_NANOMIPS         249 /* Wave Computing nanoMIPS */

#define EM_LOONGARCH        258 /* LoongArch */

/*
 * This is an interim value that we will use until the committee comes
 * up with a final number.
 */
#define EM_ALPHA            0x9026

/* Bogus old v850 magic number, used by old tools.  */
#define EM_CYGNUS_V850      0x9080

/*
 * This is the old interim value for S/390 architecture
 */
#define EM_S390_OLD         0xA390

#define EM_ALTERA_NIOS2     113 /* Altera Nios II soft-core processor */

#define EM_MICROBLAZE       189
#define EM_MICROBLAZE_OLD   0xBAAB

#define EM_XTENSA           94  /* Tensilica Xtensa */

#define EM_AARCH64          183

#define EF_AVR_MACH         0x7F /* Mask for AVR e_flags to get core type */

/* This is the info that is needed to parse the dynamic section of the file */
#define DT_NULL         0
#define DT_NEEDED       1
#define DT_PLTRELSZ     2
#define DT_PLTGOT       3
#define DT_HASH         4
#define DT_STRTAB       5
#define DT_SYMTAB       6
#define DT_RELA         7
#define DT_RELASZ       8
#define DT_RELAENT      9
#define DT_STRSZ        10
#define DT_SYMENT       11
#define DT_INIT         12
#define DT_FINI         13
#define DT_SONAME       14
#define DT_RPATH        15
#define DT_SYMBOLIC     16
#define DT_REL          17
#define DT_RELSZ        18
#define DT_RELENT       19
#define DT_PLTREL       20
#define DT_DEBUG        21
#define DT_TEXTREL      22
#define DT_JMPREL       23
#define DT_BINDNOW      24
#define DT_INIT_ARRAY   25
#define DT_FINI_ARRAY   26
#define DT_INIT_ARRAYSZ 27
#define DT_FINI_ARRAYSZ 28
#define DT_RUNPATH      29
#define DT_FLAGS        30
#define DT_LOOS         0x6000000d
#define DT_HIOS         0x6ffff000
#define DT_LOPROC       0x70000000
#define DT_HIPROC       0x7fffffff

/* DT_ entries which fall between DT_VALRNGLO and DT_VALRNDHI use
   the d_val field of the Elf*_Dyn structure.  I.e. they contain scalars.  */
#define DT_VALRNGLO     0x6ffffd00
#define DT_VALRNGHI     0x6ffffdff

/* DT_ entries which fall between DT_ADDRRNGLO and DT_ADDRRNGHI use
   the d_ptr field of the Elf*_Dyn structure.  I.e. they contain pointers.  */
#define DT_ADDRRNGLO    0x6ffffe00
#define DT_ADDRRNGHI    0x6ffffeff

#define DT_VERSYM       0x6ffffff0
#define DT_RELACOUNT    0x6ffffff9
#define DT_RELCOUNT     0x6ffffffa
#define DT_FLAGS_1      0x6ffffffb
#define DT_VERDEF       0x6ffffffc
#define DT_VERDEFNUM    0x6ffffffd
#define DT_VERNEED      0x6ffffffe
#define DT_VERNEEDNUM   0x6fffffff

#define DT_MIPS_RLD_VERSION     0x70000001
#define DT_MIPS_TIME_STAMP      0x70000002
#define DT_MIPS_ICHECKSUM       0x70000003
#define DT_MIPS_IVERSION        0x70000004
#define DT_MIPS_FLAGS           0x70000005
  #define RHF_NONE              0
  #define RHF_HARDWAY           1
  #define RHF_NOTPOT            2
#define DT_MIPS_BASE_ADDRESS    0x70000006
#define DT_MIPS_CONFLICT        0x70000008
#define DT_MIPS_LIBLIST         0x70000009
#define DT_MIPS_LOCAL_GOTNO     0x7000000a
#define DT_MIPS_CONFLICTNO      0x7000000b
#define DT_MIPS_LIBLISTNO       0x70000010
#define DT_MIPS_SYMTABNO        0x70000011
#define DT_MIPS_UNREFEXTNO      0x70000012
#define DT_MIPS_GOTSYM          0x70000013
#define DT_MIPS_HIPAGENO        0x70000014
#define DT_MIPS_RLD_MAP         0x70000016

/* This info is needed when parsing the symbol table */
#define STB_LOCAL  0
#define STB_GLOBAL 1
#define STB_WEAK   2

#define STT_NOTYPE  0
#define STT_OBJECT  1
#define STT_FUNC    2
#define STT_SECTION 3
#define STT_FILE    4

#define ELF_ST_BIND(x)          ((x) >> 4)
#define ELF_ST_TYPE(x)          (((unsigned int) x) & 0xf)
#define ELF_ST_INFO(bind, type) (((bind) << 4) | ((type) & 0xf))
#define ELF32_ST_BIND(x)        ELF_ST_BIND(x)
#define ELF32_ST_TYPE(x)        ELF_ST_TYPE(x)
#define ELF64_ST_BIND(x)        ELF_ST_BIND(x)
#define ELF64_ST_TYPE(x)        ELF_ST_TYPE(x)

/* Symbolic values for the entries in the auxiliary table
   put on the initial stack */
#define AT_NULL             0   /* end of vector */
#define AT_IGNORE           1   /* entry should be ignored */
#define AT_EXECFD           2   /* file descriptor of program */
#define AT_PHDR             3   /* program headers for program */
#define AT_PHENT            4   /* size of program header entry */
#define AT_PHNUM            5   /* number of program headers */
#define AT_PAGESZ           6   /* system page size */
#define AT_BASE             7   /* base address of interpreter */
#define AT_FLAGS            8   /* flags */
#define AT_ENTRY            9   /* entry point of program */
#define AT_NOTELF           10  /* program is not ELF */
#define AT_UID              11  /* real uid */
#define AT_EUID             12  /* effective uid */
#define AT_GID              13  /* real gid */
#define AT_EGID             14  /* effective gid */
#define AT_PLATFORM         15  /* string identifying CPU for optimizations */
#define AT_HWCAP            16  /* arch dependent hints at CPU capabilities */
#define AT_CLKTCK           17  /* frequency at which times() increments */
#define AT_FPUCW            18  /* info about fpu initialization by kernel */
#define AT_DCACHEBSIZE      19  /* data cache block size */
#define AT_ICACHEBSIZE      20  /* instruction cache block size */
#define AT_UCACHEBSIZE      21  /* unified cache block size */
#define AT_IGNOREPPC        22  /* ppc only; entry should be ignored */
#define AT_SECURE           23  /* boolean, was exec suid-like? */
#define AT_BASE_PLATFORM    24  /* string identifying real platforms */
#define AT_RANDOM           25  /* address of 16 random bytes */
#define AT_HWCAP2           26  /* extension of AT_HWCAP */
#define AT_EXECFN           31  /* filename of the executable */
#define AT_SYSINFO          32  /* address of kernel entry point */
#define AT_SYSINFO_EHDR     33  /* address of kernel vdso */
#define AT_L1I_CACHESHAPE   34  /* shapes of the caches: */
#define AT_L1D_CACHESHAPE   35  /*   bits 0-3: cache associativity.  */
#define AT_L2_CACHESHAPE    36  /*   bits 4-7: log2 of line size.  */
#define AT_L3_CACHESHAPE    37  /*   val&~255: cache size.  */

typedef struct dynamic{
  Elf32_Sword d_tag;
  union{
    Elf32_Sword d_val;
    Elf32_Addr d_ptr;
  } d_un;
} Elf32_Dyn;

typedef struct {
  Elf64_Sxword d_tag;   /* entry tag value */
  union {
    Elf64_Xword d_val;
    Elf64_Addr d_ptr;
  } d_un;
} Elf64_Dyn;

/* The following are used with relocations */
#define ELF32_R_SYM(x) ((x) >> 8)
#define ELF32_R_TYPE(x) ((x) & 0xff)

#define ELF64_R_SYM(i)                  ((i) >> 32)
#define ELF64_R_TYPE(i)                 ((i) & 0xffffffff)
#define ELF64_R_TYPE_DATA(i)            (((ELF64_R_TYPE(i) >> 8) ^ 0x00800000) - 0x00800000)

#define R_386_NONE      0
#define R_386_32        1
#define R_386_PC32      2
#define R_386_GOT32     3
#define R_386_PLT32     4
#define R_386_COPY      5
#define R_386_GLOB_DAT  6
#define R_386_JMP_SLOT  7
#define R_386_RELATIVE  8
#define R_386_GOTOFF    9
#define R_386_GOTPC     10
#define R_386_NUM       11
/* Not a dynamic reloc, so not included in R_386_NUM.  Used in TCG.  */
#define R_386_PC8       23

#define R_MIPS_NONE     0
#define R_MIPS_16       1
#define R_MIPS_32       2
#define R_MIPS_REL32    3
#define R_MIPS_26       4
#define R_MIPS_HI16     5
#define R_MIPS_LO16     6
#define R_MIPS_GPREL16  7
#define R_MIPS_LITERAL  8
#define R_MIPS_GOT16    9
#define R_MIPS_PC16     10
#define R_MIPS_CALL16   11
#define R_MIPS_GPREL32  12
/* The remaining relocs are defined on Irix, although they are not
   in the MIPS ELF ABI.  */
#define R_MIPS_UNUSED1  13
#define R_MIPS_UNUSED2  14
#define R_MIPS_UNUSED3  15
#define R_MIPS_SHIFT5   16
#define R_MIPS_SHIFT6   17
#define R_MIPS_64       18
#define R_MIPS_GOT_DISP 19
#define R_MIPS_GOT_PAGE 20
#define R_MIPS_GOT_OFST 21
/*
 * The following two relocation types are specified in the MIPS ABI
 * conformance guide version 1.2 but not yet in the psABI.
 */
#define R_MIPS_GOTHI16  22
#define R_MIPS_GOTLO16  23
#define R_MIPS_SUB      24
#define R_MIPS_INSERT_A 25
#define R_MIPS_INSERT_B 26
#define R_MIPS_DELETE   27
#define R_MIPS_HIGHER   28
#define R_MIPS_HIGHEST  29
/*
 * The following two relocation types are specified in the MIPS ABI
 * conformance guide version 1.2 but not yet in the psABI.
 */
#define R_MIPS_CALLHI16 30
#define R_MIPS_CALLLO16 31
/*
 * This range is reserved for vendor specific relocations.
 */
#define R_MIPS_LOVENDOR 100
#define R_MIPS_HIVENDOR 127


/* SUN SPARC specific definitions.  */

/* Values for Elf64_Ehdr.e_flags.  */

#define EF_SPARCV9_MM           3
#define EF_SPARCV9_TSO          0
#define EF_SPARCV9_PSO          1
#define EF_SPARCV9_RMO          2
#define EF_SPARC_LEDATA         0x800000 /* little endian data */
#define EF_SPARC_EXT_MASK       0xFFFF00
#define EF_SPARC_32PLUS         0x000100 /* generic V8+ features */
#define EF_SPARC_SUN_US1        0x000200 /* Sun UltraSPARC1 extensions */
#define EF_SPARC_HAL_R1         0x000400 /* HAL R1 extensions */
#define EF_SPARC_SUN_US3        0x000800 /* Sun UltraSPARCIII extensions */

/*
 * Sparc ELF relocation types
 */
#define R_SPARC_NONE        0
#define R_SPARC_8           1
#define R_SPARC_16          2
#define R_SPARC_32          3
#define R_SPARC_DISP8       4
#define R_SPARC_DISP16      5
#define R_SPARC_DISP32      6
#define R_SPARC_WDISP30     7
#define R_SPARC_WDISP22     8
#define R_SPARC_HI22        9
#define R_SPARC_22          10
#define R_SPARC_13          11
#define R_SPARC_LO10        12
#define R_SPARC_GOT10       13
#define R_SPARC_GOT13       14
#define R_SPARC_GOT22       15
#define R_SPARC_PC10        16
#define R_SPARC_PC22        17
#define R_SPARC_WPLT30      18
#define R_SPARC_COPY        19
#define R_SPARC_GLOB_DAT    20
#define R_SPARC_JMP_SLOT    21
#define R_SPARC_RELATIVE    22
#define R_SPARC_UA32        23
#define R_SPARC_PLT32       24
#define R_SPARC_HIPLT22     25
#define R_SPARC_LOPLT10     26
#define R_SPARC_PCPLT32     27
#define R_SPARC_PCPLT22     28
#define R_SPARC_PCPLT10     29
#define R_SPARC_10          30
#define R_SPARC_11          31
#define R_SPARC_64          32
#define R_SPARC_OLO10       33
#define R_SPARC_HH22        34
#define R_SPARC_HM10        35
#define R_SPARC_LM22        36
#define R_SPARC_WDISP16     40
#define R_SPARC_WDISP19     41
#define R_SPARC_7           43
#define R_SPARC_5           44
#define R_SPARC_6           45

/* Bits present in AT_HWCAP for ARM.  */

#define HWCAP_ARM_SWP           (1 << 0)
#define HWCAP_ARM_HALF          (1 << 1)
#define HWCAP_ARM_THUMB         (1 << 2)
#define HWCAP_ARM_26BIT         (1 << 3)
#define HWCAP_ARM_FAST_MULT     (1 << 4)
#define HWCAP_ARM_FPA           (1 << 5)
#define HWCAP_ARM_VFP           (1 << 6)
#define HWCAP_ARM_EDSP          (1 << 7)
#define HWCAP_ARM_JAVA          (1 << 8)
#define HWCAP_ARM_IWMMXT        (1 << 9)
#define HWCAP_ARM_CRUNCH        (1 << 10)
#define HWCAP_ARM_THUMBEE       (1 << 11)
#define HWCAP_ARM_NEON          (1 << 12)
#define HWCAP_ARM_VFPv3         (1 << 13)
#define HWCAP_ARM_VFPv3D16      (1 << 14)       /* also set for VFPv4-D16 */
#define HWCAP_ARM_TLS           (1 << 15)
#define HWCAP_ARM_VFPv4         (1 << 16)
#define HWCAP_ARM_IDIVA         (1 << 17)
#define HWCAP_ARM_IDIVT         (1 << 18)
#define HWCAP_IDIV              (HWCAP_IDIVA | HWCAP_IDIVT)
#define HWCAP_VFPD32            (1 << 19)       /* set if VFP has 32 regs */
#define HWCAP_LPAE              (1 << 20)

/* Bits present in AT_HWCAP for PowerPC.  */

#define PPC_FEATURE_32                  0x80000000
#define PPC_FEATURE_64                  0x40000000
#define PPC_FEATURE_601_INSTR           0x20000000
#define PPC_FEATURE_HAS_ALTIVEC         0x10000000
#define PPC_FEATURE_HAS_FPU             0x08000000
#define PPC_FEATURE_HAS_MMU             0x04000000
#define PPC_FEATURE_HAS_4xxMAC          0x02000000
#define PPC_FEATURE_UNIFIED_CACHE       0x01000000
#define PPC_FEATURE_HAS_SPE             0x00800000
#define PPC_FEATURE_HAS_EFP_SINGLE      0x00400000
#define PPC_FEATURE_HAS_EFP_DOUBLE      0x00200000
#define PPC_FEATURE_NO_TB               0x00100000
#define PPC_FEATURE_POWER4              0x00080000
#define PPC_FEATURE_POWER5              0x00040000
#define PPC_FEATURE_POWER5_PLUS         0x00020000
#define PPC_FEATURE_CELL                0x00010000
#define PPC_FEATURE_BOOKE               0x00008000
#define PPC_FEATURE_SMT                 0x00004000
#define PPC_FEATURE_ICACHE_SNOOP        0x00002000
#define PPC_FEATURE_ARCH_2_05           0x00001000
#define PPC_FEATURE_PA6T                0x00000800
#define PPC_FEATURE_HAS_DFP             0x00000400
#define PPC_FEATURE_POWER6_EXT          0x00000200
#define PPC_FEATURE_ARCH_2_06           0x00000100
#define PPC_FEATURE_HAS_VSX             0x00000080

#define PPC_FEATURE_PSERIES_PERFMON_COMPAT \
                                        0x00000040

#define PPC_FEATURE_TRUE_LE             0x00000002
#define PPC_FEATURE_PPC_LE              0x00000001

/* Bits present in AT_HWCAP2 for PowerPC.  */

#define PPC_FEATURE2_ARCH_2_07          0x80000000
#define PPC_FEATURE2_HAS_HTM            0x40000000
#define PPC_FEATURE2_HAS_DSCR           0x20000000
#define PPC_FEATURE2_HAS_EBB            0x10000000
#define PPC_FEATURE2_HAS_ISEL           0x08000000
#define PPC_FEATURE2_HAS_TAR            0x04000000
#define PPC_FEATURE2_HAS_VEC_CRYPTO     0x02000000
#define PPC_FEATURE2_HTM_NOSC           0x01000000
#define PPC_FEATURE2_ARCH_3_00          0x00800000
#define PPC_FEATURE2_HAS_IEEE128        0x00400000
#define PPC_FEATURE2_ARCH_3_10          0x00040000

/* Bits present in AT_HWCAP for Sparc.  */

#define HWCAP_SPARC_FLUSH               0x00000001
#define HWCAP_SPARC_STBAR               0x00000002
#define HWCAP_SPARC_SWAP                0x00000004
#define HWCAP_SPARC_MULDIV              0x00000008
#define HWCAP_SPARC_V9                  0x00000010
#define HWCAP_SPARC_ULTRA3              0x00000020
#define HWCAP_SPARC_BLKINIT             0x00000040
#define HWCAP_SPARC_N2                  0x00000080
#define HWCAP_SPARC_MUL32               0x00000100
#define HWCAP_SPARC_DIV32               0x00000200
#define HWCAP_SPARC_FSMULD              0x00000400
#define HWCAP_SPARC_V8PLUS              0x00000800
#define HWCAP_SPARC_POPC                0x00001000
#define HWCAP_SPARC_VIS                 0x00002000
#define HWCAP_SPARC_VIS2                0x00004000
#define HWCAP_SPARC_ASI_BLK_INIT        0x00008000
#define HWCAP_SPARC_FMAF                0x00010000
#define HWCAP_SPARC_VIS3                0x00020000
#define HWCAP_SPARC_HPC                 0x00040000
#define HWCAP_SPARC_RANDOM              0x00080000
#define HWCAP_SPARC_TRANS               0x00100000
#define HWCAP_SPARC_FJFMAU              0x00200000
#define HWCAP_SPARC_IMA                 0x00400000
#define HWCAP_SPARC_ASI_CACHE_SPARING   0x00800000
#define HWCAP_SPARC_PAUSE               0x01000000
#define HWCAP_SPARC_CBCOND              0x02000000
#define HWCAP_SPARC_CRYPTO              0x04000000

/* Bits present in AT_HWCAP for s390.  */

#define HWCAP_S390_ESAN3        1
#define HWCAP_S390_ZARCH        2
#define HWCAP_S390_STFLE        4
#define HWCAP_S390_MSA          8
#define HWCAP_S390_LDISP        16
#define HWCAP_S390_EIMM         32
#define HWCAP_S390_DFP          64
#define HWCAP_S390_HPAGE        128
#define HWCAP_S390_ETF3EH       256
#define HWCAP_S390_HIGH_GPRS    512
#define HWCAP_S390_TE           1024
#define HWCAP_S390_VXRS         2048
#define HWCAP_S390_VXRS_BCD     4096
#define HWCAP_S390_VXRS_EXT     8192
#define HWCAP_S390_GS           16384
#define HWCAP_S390_VXRS_EXT2    32768
#define HWCAP_S390_VXRS_PDE     65536
#define HWCAP_S390_SORT         131072
#define HWCAP_S390_DFLT         262144

/* M68K specific definitions. */
/* We use the top 24 bits to encode information about the
   architecture variant.  */
#define EF_M68K_CPU32    0x00810000
#define EF_M68K_M68000   0x01000000
#define EF_M68K_CFV4E    0x00008000
#define EF_M68K_FIDO     0x02000000
#define EF_M68K_ARCH_MASK                                               \
  (EF_M68K_M68000 | EF_M68K_CPU32 | EF_M68K_CFV4E | EF_M68K_FIDO)

/* We use the bottom 8 bits to encode information about the
   coldfire variant.  If we use any of these bits, the top 24 bits are
   either 0 or EF_M68K_CFV4E.  */
#define EF_M68K_CF_ISA_MASK     0x0F  /* Which ISA */
#define EF_M68K_CF_ISA_A_NODIV  0x01  /* ISA A except for div */
#define EF_M68K_CF_ISA_A        0x02
#define EF_M68K_CF_ISA_A_PLUS   0x03
#define EF_M68K_CF_ISA_B_NOUSP  0x04  /* ISA_B except for USP */
#define EF_M68K_CF_ISA_B        0x05
#define EF_M68K_CF_ISA_C        0x06
#define EF_M68K_CF_ISA_C_NODIV  0x07  /* ISA C except for div */
#define EF_M68K_CF_MAC_MASK     0x30
#define EF_M68K_CF_MAC          0x10  /* MAC */
#define EF_M68K_CF_EMAC         0x20  /* EMAC */
#define EF_M68K_CF_EMAC_B       0x30  /* EMAC_B */
#define EF_M68K_CF_FLOAT        0x40  /* Has float insns */
#define EF_M68K_CF_MASK         0xFF

/*
 * 68k ELF relocation types
 */
#define R_68K_NONE      0
#define R_68K_32        1
#define R_68K_16        2
#define R_68K_8         3
#define R_68K_PC32      4
#define R_68K_PC16      5
#define R_68K_PC8       6
#define R_68K_GOT32     7
#define R_68K_GOT16     8
#define R_68K_GOT8      9
#define R_68K_GOT32O    10
#define R_68K_GOT16O    11
#define R_68K_GOT8O     12
#define R_68K_PLT32     13
#define R_68K_PLT16     14
#define R_68K_PLT8      15
#define R_68K_PLT32O    16
#define R_68K_PLT16O    17
#define R_68K_PLT8O     18
#define R_68K_COPY      19
#define R_68K_GLOB_DAT  20
#define R_68K_JMP_SLOT  21
#define R_68K_RELATIVE  22

/*
 * Alpha ELF relocation types
 */
#define R_ALPHA_NONE            0       /* No reloc */
#define R_ALPHA_REFLONG         1       /* Direct 32 bit */
#define R_ALPHA_REFQUAD         2       /* Direct 64 bit */
#define R_ALPHA_GPREL32         3       /* GP relative 32 bit */
#define R_ALPHA_LITERAL         4       /* GP relative 16 bit w/optimization */
#define R_ALPHA_LITUSE          5       /* Optimization hint for LITERAL */
#define R_ALPHA_GPDISP          6       /* Add displacement to GP */
#define R_ALPHA_BRADDR          7       /* PC+4 relative 23 bit shifted */
#define R_ALPHA_HINT            8       /* PC+4 relative 16 bit shifted */
#define R_ALPHA_SREL16          9       /* PC relative 16 bit */
#define R_ALPHA_SREL32          10      /* PC relative 32 bit */
#define R_ALPHA_SREL64          11      /* PC relative 64 bit */
#define R_ALPHA_GPRELHIGH       17      /* GP relative 32 bit, high 16 bits */
#define R_ALPHA_GPRELLOW        18      /* GP relative 32 bit, low 16 bits */
#define R_ALPHA_GPREL16         19      /* GP relative 16 bit */
#define R_ALPHA_COPY            24      /* Copy symbol at runtime */
#define R_ALPHA_GLOB_DAT        25      /* Create GOT entry */
#define R_ALPHA_JMP_SLOT        26      /* Create PLT entry */
#define R_ALPHA_RELATIVE        27      /* Adjust by program base */
#define R_ALPHA_BRSGP           28
#define R_ALPHA_TLSGD           29
#define R_ALPHA_TLS_LDM         30
#define R_ALPHA_DTPMOD64        31
#define R_ALPHA_GOTDTPREL       32
#define R_ALPHA_DTPREL64        33
#define R_ALPHA_DTPRELHI        34
#define R_ALPHA_DTPRELLO        35
#define R_ALPHA_DTPREL16        36
#define R_ALPHA_GOTTPREL        37
#define R_ALPHA_TPREL64         38
#define R_ALPHA_TPRELHI         39
#define R_ALPHA_TPRELLO         40
#define R_ALPHA_TPREL16         41

#define SHF_ALPHA_GPREL         0x10000000


/* PowerPC specific definitions.  */

/* Processor specific flags for the ELF header e_flags field.  */
#define EF_PPC64_ABI            0x3

/* PowerPC relocations defined by the ABIs */
#define R_PPC_NONE              0
#define R_PPC_ADDR32            1   /* 32bit absolute address */
#define R_PPC_ADDR24            2   /* 26bit address, 2 bits ignored.  */
#define R_PPC_ADDR16            3   /* 16bit absolute address */
#define R_PPC_ADDR16_LO         4   /* lower 16bit of absolute address */
#define R_PPC_ADDR16_HI         5   /* high 16bit of absolute address */
#define R_PPC_ADDR16_HA         6   /* adjusted high 16bit */
#define R_PPC_ADDR14            7   /* 16bit address, 2 bits ignored */
#define R_PPC_ADDR14_BRTAKEN    8
#define R_PPC_ADDR14_BRNTAKEN   9
#define R_PPC_REL24             10  /* PC relative 26 bit */
#define R_PPC_REL14             11  /* PC relative 16 bit */
#define R_PPC_REL14_BRTAKEN     12
#define R_PPC_REL14_BRNTAKEN    13
#define R_PPC_GOT16             14
#define R_PPC_GOT16_LO          15
#define R_PPC_GOT16_HI          16
#define R_PPC_GOT16_HA          17
#define R_PPC_PLTREL24          18
#define R_PPC_COPY              19
#define R_PPC_GLOB_DAT          20
#define R_PPC_JMP_SLOT          21
#define R_PPC_RELATIVE          22
#define R_PPC_LOCAL24PC         23
#define R_PPC_UADDR32           24
#define R_PPC_UADDR16           25
#define R_PPC_REL32             26
#define R_PPC_PLT32             27
#define R_PPC_PLTREL32          28
#define R_PPC_PLT16_LO          29
#define R_PPC_PLT16_HI          30
#define R_PPC_PLT16_HA          31
#define R_PPC_SDAREL16          32
#define R_PPC_SECTOFF           33
#define R_PPC_SECTOFF_LO        34
#define R_PPC_SECTOFF_HI        35
#define R_PPC_SECTOFF_HA        36
/* Keep this the last entry.  */
#ifndef R_PPC_NUM
#define R_PPC_NUM               37
#endif

/* ARM specific declarations */

/* Processor specific flags for the ELF header e_flags field.  */
#define EF_ARM_RELEXEC        0x01
#define EF_ARM_HASENTRY       0x02
#define EF_ARM_INTERWORK      0x04
#define EF_ARM_APCS_26        0x08
#define EF_ARM_APCS_FLOAT     0x10
#define EF_ARM_PIC            0x20
#define EF_ALIGN8             0x40     /* 8-bit structure alignment is in use */
#define EF_NEW_ABI            0x80
#define EF_OLD_ABI            0x100
#define EF_ARM_SOFT_FLOAT     0x200
#define EF_ARM_VFP_FLOAT      0x400
#define EF_ARM_MAVERICK_FLOAT 0x800

/* Other constants defined in the ARM ELF spec. version B-01.  */
#define EF_ARM_SYMSARESORTED    0x04   /* NB conflicts with EF_INTERWORK */
#define EF_ARM_DYNSYMSUSESEGIDX 0x08   /* NB conflicts with EF_APCS26 */
#define EF_ARM_MAPSYMSFIRST     0x10   /* NB conflicts with EF_APCS_FLOAT */
#define EF_ARM_EABIMASK         0xFF000000

/* Constants defined in AAELF.  */
#define EF_ARM_BE8          0x00800000
#define EF_ARM_LE8          0x00400000

#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK)
#define EF_ARM_EABI_UNKNOWN  0x00000000
#define EF_ARM_EABI_VER1     0x01000000
#define EF_ARM_EABI_VER2     0x02000000
#define EF_ARM_EABI_VER3     0x03000000
#define EF_ARM_EABI_VER4     0x04000000
#define EF_ARM_EABI_VER5     0x05000000

/* Additional symbol types for Thumb */
#define STT_ARM_TFUNC      0xd

/* ARM-specific values for sh_flags */
#define SHF_ARM_ENTRYSECT  0x10000000   /* Section contains an entry point */
#define SHF_ARM_COMDEF     0x80000000   /* Section may be multiply defined
                                           in the input to a link step */

/* ARM-specific program header flags */
#define PF_ARM_SB          0x10000000   /* Segment contains the location
                                           addressed by the static base */

/* ARM relocs.  */
#define R_ARM_NONE              0   /* No reloc */
#define R_ARM_PC24              1   /* PC relative 26 bit branch */
#define R_ARM_ABS32             2   /* Direct 32 bit  */
#define R_ARM_REL32             3   /* PC relative 32 bit */
#define R_ARM_PC13              4
#define R_ARM_ABS16             5   /* Direct 16 bit */
#define R_ARM_ABS12             6   /* Direct 12 bit */
#define R_ARM_THM_ABS5          7
#define R_ARM_ABS8              8   /* Direct 8 bit */
#define R_ARM_SBREL32           9
#define R_ARM_THM_PC22          10
#define R_ARM_THM_PC8           11
#define R_ARM_AMP_VCALL9        12
#define R_ARM_SWI24             13
#define R_ARM_THM_SWI8          14
#define R_ARM_XPC25             15
#define R_ARM_THM_XPC22         16
#define R_ARM_COPY              20  /* Copy symbol at runtime */
#define R_ARM_GLOB_DAT          21  /* Create GOT entry */
#define R_ARM_JUMP_SLOT         22  /* Create PLT entry */
#define R_ARM_RELATIVE          23  /* Adjust by program base */
#define R_ARM_GOTOFF            24  /* 32 bit offset to GOT */
#define R_ARM_GOTPC             25  /* 32 bit PC relative offset to GOT */
#define R_ARM_GOT32             26  /* 32 bit GOT entry */
#define R_ARM_PLT32             27  /* 32 bit PLT address */
#define R_ARM_CALL              28
#define R_ARM_JUMP24            29
#define R_ARM_GNU_VTENTRY       100
#define R_ARM_GNU_VTINHERIT     101
#define R_ARM_THM_PC11          102 /* thumb unconditional branch */
#define R_ARM_THM_PC9           103 /* thumb conditional branch */
#define R_ARM_RXPC25            249
#define R_ARM_RSBREL32          250
#define R_ARM_THM_RPC22         251
#define R_ARM_RREL32            252
#define R_ARM_RABS22            253
#define R_ARM_RPC24             254
#define R_ARM_RBASE             255
/* Keep this the last entry.  */
#define R_ARM_NUM               256

/* ARM Aarch64 relocation types */
#define R_AARCH64_NONE                256 /* also accepts R_ARM_NONE (0) */
/* static data relocations */
#define R_AARCH64_ABS64               257
#define R_AARCH64_ABS32               258
#define R_AARCH64_ABS16               259
#define R_AARCH64_PREL64              260
#define R_AARCH64_PREL32              261
#define R_AARCH64_PREL16              262
/* static aarch64 group relocations */
/* group relocs to create unsigned data value or address inline */
#define R_AARCH64_MOVW_UABS_G0        263
#define R_AARCH64_MOVW_UABS_G0_NC     264
#define R_AARCH64_MOVW_UABS_G1        265
#define R_AARCH64_MOVW_UABS_G1_NC     266
#define R_AARCH64_MOVW_UABS_G2        267
#define R_AARCH64_MOVW_UABS_G2_NC     268
#define R_AARCH64_MOVW_UABS_G3        269
/* group relocs to create signed data or offset value inline */
#define R_AARCH64_MOVW_SABS_G0        270
#define R_AARCH64_MOVW_SABS_G1        271
#define R_AARCH64_MOVW_SABS_G2        272
/* relocs to generate 19, 21, and 33 bit PC-relative addresses */
#define R_AARCH64_LD_PREL_LO19        273
#define R_AARCH64_ADR_PREL_LO21       274
#define R_AARCH64_ADR_PREL_PG_HI21    275
#define R_AARCH64_ADR_PREL_PG_HI21_NC 276
#define R_AARCH64_ADD_ABS_LO12_NC     277
#define R_AARCH64_LDST8_ABS_LO12_NC   278
#define R_AARCH64_LDST16_ABS_LO12_NC  284
#define R_AARCH64_LDST32_ABS_LO12_NC  285
#define R_AARCH64_LDST64_ABS_LO12_NC  286
#define R_AARCH64_LDST128_ABS_LO12_NC 299
/* relocs for control-flow - all offsets as multiple of 4 */
#define R_AARCH64_TSTBR14             279
#define R_AARCH64_CONDBR19            280
#define R_AARCH64_JUMP26              282
#define R_AARCH64_CALL26              283
/* group relocs to create pc-relative offset inline */
#define R_AARCH64_MOVW_PREL_G0        287
#define R_AARCH64_MOVW_PREL_G0_NC     288
#define R_AARCH64_MOVW_PREL_G1        289
#define R_AARCH64_MOVW_PREL_G1_NC     290
#define R_AARCH64_MOVW_PREL_G2        291
#define R_AARCH64_MOVW_PREL_G2_NC     292
#define R_AARCH64_MOVW_PREL_G3        293
/* group relocs to create a GOT-relative offset inline */
#define R_AARCH64_MOVW_GOTOFF_G0      300
#define R_AARCH64_MOVW_GOTOFF_G0_NC   301
#define R_AARCH64_MOVW_GOTOFF_G1      302
#define R_AARCH64_MOVW_GOTOFF_G1_NC   303
#define R_AARCH64_MOVW_GOTOFF_G2      304
#define R_AARCH64_MOVW_GOTOFF_G2_NC   305
#define R_AARCH64_MOVW_GOTOFF_G3      306
/* GOT-relative data relocs */
#define R_AARCH64_GOTREL64            307
#define R_AARCH64_GOTREL32            308
/* GOT-relative instr relocs */
#define R_AARCH64_GOT_LD_PREL19       309
#define R_AARCH64_LD64_GOTOFF_LO15    310
#define R_AARCH64_ADR_GOT_PAGE        311
#define R_AARCH64_LD64_GOT_LO12_NC    312
#define R_AARCH64_LD64_GOTPAGE_LO15   313
/* General Dynamic TLS relocations */
#define R_AARCH64_TLSGD_ADR_PREL21            512
#define R_AARCH64_TLSGD_ADR_PAGE21            513
#define R_AARCH64_TLSGD_ADD_LO12_NC           514
#define R_AARCH64_TLSGD_MOVW_G1               515
#define R_AARCH64_TLSGD_MOVW_G0_NC            516
/* Local Dynamic TLS relocations */
#define R_AARCH64_TLSLD_ADR_PREL21            517
#define R_AARCH64_TLSLD_ADR_PAGE21            518
#define R_AARCH64_TLSLD_ADD_LO12_NC           519
#define R_AARCH64_TLSLD_MOVW_G1               520
#define R_AARCH64_TLSLD_MOVW_G0_NC            521
#define R_AARCH64_TLSLD_LD_PREL19             522
#define R_AARCH64_TLSLD_MOVW_DTPREL_G2        523
#define R_AARCH64_TLSLD_MOVW_DTPREL_G1        524
#define R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC     525
#define R_AARCH64_TLSLD_MOVW_DTPREL_G0        526
#define R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC     527
#define R_AARCH64_TLSLD_ADD_DTPREL_HI12       528
#define R_AARCH64_TLSLD_ADD_DTPREL_LO12       529
#define R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC    530
#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12     531
#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC  532
#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12    533
#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC 534
#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12    535
#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC 536
#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12    537
#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC 538
/* initial exec TLS relocations */
#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G1      539
#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC   540
#define R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21   541
#define R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC 542
#define R_AARCH64_TLSIE_LD_GOTTPREL_PREL19    543
/* local exec TLS relocations */
#define R_AARCH64_TLSLE_MOVW_TPREL_G2         544
#define R_AARCH64_TLSLE_MOVW_TPREL_G1         545
#define R_AARCH64_TLSLE_MOVW_TPREL_G1_NC      546
#define R_AARCH64_TLSLE_MOVW_TPREL_G0         547
#define R_AARCH64_TLSLE_MOVW_TPREL_G0_NC      548
#define R_AARCH64_TLSLE_ADD_TPREL_HI12        549
#define R_AARCH64_TLSLE_ADD_TPREL_LO12        550
#define R_AARCH64_TLSLE_ADD_TPREL_LO12_NC     551
#define R_AARCH64_TLSLE_LDST8_TPREL_LO12      552
#define R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC   553
#define R_AARCH64_TLSLE_LDST16_TPREL_LO12     554
#define R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC  555
#define R_AARCH64_TLSLE_LDST32_TPREL_LO12     556
#define R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC  557
#define R_AARCH64_TLSLE_LDST64_TPREL_LO12     558
#define R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC  559
/* Dynamic Relocations */
#define R_AARCH64_COPY         1024
#define R_AARCH64_GLOB_DAT     1025
#define R_AARCH64_JUMP_SLOT    1026
#define R_AARCH64_RELATIVE     1027
#define R_AARCH64_TLS_DTPREL64 1028
#define R_AARCH64_TLS_DTPMOD64 1029
#define R_AARCH64_TLS_TPREL64  1030
#define R_AARCH64_TLS_DTPREL32 1031
#define R_AARCH64_TLS_DTPMOD32 1032
#define R_AARCH64_TLS_TPREL32  1033

/* s390 relocations defined by the ABIs */
#define R_390_NONE              0   /* No reloc.  */
#define R_390_8                 1   /* Direct 8 bit.  */
#define R_390_12                2   /* Direct 12 bit.  */
#define R_390_16                3   /* Direct 16 bit.  */
#define R_390_32                4   /* Direct 32 bit.  */
#define R_390_PC32              5   /* PC relative 32 bit.  */
#define R_390_GOT12             6   /* 12 bit GOT offset.  */
#define R_390_GOT32             7   /* 32 bit GOT offset.  */
#define R_390_PLT32             8   /* 32 bit PC relative PLT address.  */
#define R_390_COPY              9   /* Copy symbol at runtime.  */
#define R_390_GLOB_DAT          10  /* Create GOT entry.  */
#define R_390_JMP_SLOT          11  /* Create PLT entry.  */
#define R_390_RELATIVE          12  /* Adjust by program base.  */
#define R_390_GOTOFF32          13  /* 32 bit offset to GOT.  */
#define R_390_GOTPC             14  /* 32 bit PC rel. offset to GOT.  */
#define R_390_GOT16             15  /* 16 bit GOT offset.  */
#define R_390_PC16              16  /* PC relative 16 bit.  */
#define R_390_PC16DBL           17  /* PC relative 16 bit shifted by 1.  */
#define R_390_PLT16DBL          18  /* 16 bit PC rel. PLT shifted by 1.  */
#define R_390_PC32DBL           19  /* PC relative 32 bit shifted by 1.  */
#define R_390_PLT32DBL          20  /* 32 bit PC rel. PLT shifted by 1.  */
#define R_390_GOTPCDBL          21  /* 32 bit PC rel. GOT shifted by 1.  */
#define R_390_64                22  /* Direct 64 bit.  */
#define R_390_PC64              23  /* PC relative 64 bit.  */
#define R_390_GOT64             24  /* 64 bit GOT offset.  */
#define R_390_PLT64             25  /* 64 bit PC relative PLT address.  */
#define R_390_GOTENT            26  /* 32 bit PC rel. to GOT entry >> 1. */
#define R_390_GOTOFF16          27  /* 16 bit offset to GOT. */
#define R_390_GOTOFF64          28  /* 64 bit offset to GOT. */
#define R_390_GOTPLT12          29  /* 12 bit offset to jump slot.  */
#define R_390_GOTPLT16          30  /* 16 bit offset to jump slot.  */
#define R_390_GOTPLT32          31  /* 32 bit offset to jump slot.  */
#define R_390_GOTPLT64          32  /* 64 bit offset to jump slot.  */
#define R_390_GOTPLTENT         33  /* 32 bit rel. offset to jump slot.  */
#define R_390_PLTOFF16          34  /* 16 bit offset from GOT to PLT. */
#define R_390_PLTOFF32          35  /* 32 bit offset from GOT to PLT. */
#define R_390_PLTOFF64          36  /* 16 bit offset from GOT to PLT. */
#define R_390_TLS_LOAD          37  /* Tag for load insn in TLS code. */
#define R_390_TLS_GDCALL        38  /* Tag for function call in general
                                               dynamic TLS code.  */
#define R_390_TLS_LDCALL        39  /* Tag for function call in local
                                               dynamic TLS code.  */
#define R_390_TLS_GD32          40  /* Direct 32 bit for general dynamic
                                               thread local data.  */
#define R_390_TLS_GD64          41  /* Direct 64 bit for general dynamic
                                               thread local data.  */
#define R_390_TLS_GOTIE12       42  /* 12 bit GOT offset for static TLS
                                               block offset.  */
#define R_390_TLS_GOTIE32       43  /* 32 bit GOT offset for static TLS
                                               block offset.  */
#define R_390_TLS_GOTIE64       44  /* 64 bit GOT offset for static TLS
                                               block offset.  */
#define R_390_TLS_LDM32         45  /* Direct 32 bit for local dynamic
                                               thread local data in LD code.  */
#define R_390_TLS_LDM64         46  /* Direct 64 bit for local dynamic
                                               thread local data in LD code.  */
#define R_390_TLS_IE32          47  /* 32 bit address of GOT entry for
                                               negated static TLS block offset.  */
#define R_390_TLS_IE64          48  /* 64 bit address of GOT entry for
                                               negated static TLS block offset.  */
#define R_390_TLS_IEENT         49  /* 32 bit rel. offset to GOT entry for
                                               negated static TLS block offset.  */
#define R_390_TLS_LE32          50  /* 32 bit negated offset relative to
                                               static TLS block.  */
#define R_390_TLS_LE64          51  /* 64 bit negated offset relative to
                                               static TLS block.  */
#define R_390_TLS_LDO32         52  /* 32 bit offset relative to TLS
                                               block.  */
#define R_390_TLS_LDO64         53  /* 64 bit offset relative to TLS
                                               block.  */
#define R_390_TLS_DTPMOD        54  /* ID of module containing symbol.  */
#define R_390_TLS_DTPOFF        55  /* Offset in TLS block.  */
#define R_390_TLS_TPOFF         56  /* Negate offset in static TLS
                                           block.  */
#define R_390_20                57
/* Keep this the last entry.  */
#define R_390_NUM               58

/* x86-64 relocation types */
#define R_X86_64_NONE       0   /* No reloc */
#define R_X86_64_64         1   /* Direct 64 bit  */
#define R_X86_64_PC32       2   /* PC relative 32 bit signed */
#define R_X86_64_GOT32      3   /* 32 bit GOT entry */
#define R_X86_64_PLT32      4   /* 32 bit PLT address */
#define R_X86_64_COPY       5   /* Copy symbol at runtime */
#define R_X86_64_GLOB_DAT   6   /* Create GOT entry */
#define R_X86_64_JUMP_SLOT  7   /* Create PLT entry */
#define R_X86_64_RELATIVE   8   /* Adjust by program base */
#define R_X86_64_GOTPCREL   9   /* 32 bit signed pc relative
                                           offset to GOT */
#define R_X86_64_32         10  /* Direct 32 bit zero extended */
#define R_X86_64_32S        11  /* Direct 32 bit sign extended */
#define R_X86_64_16         12  /* Direct 16 bit zero extended */
#define R_X86_64_PC16       13  /* 16 bit sign extended pc relative */
#define R_X86_64_8          14  /* Direct 8 bit sign extended  */
#define R_X86_64_PC8        15  /* 8 bit sign extended pc relative */

#define R_X86_64_NUM        16

/* Legal values for e_flags field of Elf64_Ehdr.  */

#define EF_ALPHA_32BIT      1   /* All addresses are below 2GB */

/* HPPA specific definitions.  */

/* Legal values for e_flags field of Elf32_Ehdr.  */

#define EF_PARISC_TRAPNIL   0x00010000 /* Trap nil pointer dereference.  */
#define EF_PARISC_EXT       0x00020000 /* Program uses arch. extensions. */
#define EF_PARISC_LSB       0x00040000 /* Program expects little endian. */
#define EF_PARISC_WIDE      0x00080000 /* Program expects wide mode.  */
#define EF_PARISC_NO_KABP   0x00100000 /* No kernel assisted branch
                                              prediction.  */
#define EF_PARISC_LAZYSWAP  0x00400000 /* Allow lazy swapping.  */
#define EF_PARISC_ARCH      0x0000ffff /* Architecture version.  */

/* Defined values for `e_flags & EF_PARISC_ARCH' are:  */

#define EFA_PARISC_1_0      0x020b /* PA-RISC 1.0 big-endian.  */
#define EFA_PARISC_1_1      0x0210 /* PA-RISC 1.1 big-endian.  */
#define EFA_PARISC_2_0      0x0214 /* PA-RISC 2.0 big-endian.  */

/* Additional section indeces.  */

#define SHN_PARISC_ANSI_COMMON  0xff00   /* Section for tenatively declared
                                              symbols in ANSI C.  */
#define SHN_PARISC_HUGE_COMMON  0xff01   /* Common blocks in huge model.  */

/* Legal values for sh_type field of Elf32_Shdr.  */

#define SHT_PARISC_EXT      0x70000000 /* Contains product specific ext. */
#define SHT_PARISC_UNWIND   0x70000001 /* Unwind information.  */
#define SHT_PARISC_DOC      0x70000002 /* Debug info for optimized code. */

/* Legal values for sh_flags field of Elf32_Shdr.  */

#define SHF_PARISC_SHORT    0x20000000 /* Section with short addressing. */
#define SHF_PARISC_HUGE     0x40000000 /* Section far from gp.  */
#define SHF_PARISC_SBP      0x80000000 /* Static branch prediction code. */

/* Legal values for ST_TYPE subfield of st_info (symbol type).  */

#define STT_PARISC_MILLICODE    13  /* Millicode function entry point.  */

#define STT_HP_OPAQUE           (STT_LOOS + 0x1)
#define STT_HP_STUB             (STT_LOOS + 0x2)

/* HPPA relocs.  */

#define R_PARISC_NONE           0   /* No reloc.  */
#define R_PARISC_DIR32          1   /* Direct 32-bit reference.  */
#define R_PARISC_DIR21L         2   /* Left 21 bits of eff. address.  */
#define R_PARISC_DIR17R         3   /* Right 17 bits of eff. address.  */
#define R_PARISC_DIR17F         4   /* 17 bits of eff. address.  */
#define R_PARISC_DIR14R         6   /* Right 14 bits of eff. address.  */
#define R_PARISC_PCREL32        9   /* 32-bit rel. address.  */
#define R_PARISC_PCREL21L       10  /* Left 21 bits of rel. address.  */
#define R_PARISC_PCREL17R       11  /* Right 17 bits of rel. address.  */
#define R_PARISC_PCREL17F       12  /* 17 bits of rel. address.  */
#define R_PARISC_PCREL14R       14  /* Right 14 bits of rel. address.  */
#define R_PARISC_DPREL21L       18  /* Left 21 bits of rel. address.  */
#define R_PARISC_DPREL14R       22  /* Right 14 bits of rel. address.  */
#define R_PARISC_GPREL21L       26  /* GP-relative, left 21 bits.  */
#define R_PARISC_GPREL14R       30  /* GP-relative, right 14 bits.  */
#define R_PARISC_LTOFF21L       34  /* LT-relative, left 21 bits.  */
#define R_PARISC_LTOFF14R       38  /* LT-relative, right 14 bits.  */
#define R_PARISC_SECREL32       41  /* 32 bits section rel. address.  */
#define R_PARISC_SEGBASE        48  /* No relocation, set segment base.  */
#define R_PARISC_SEGREL32       49  /* 32 bits segment rel. address.  */
#define R_PARISC_PLTOFF21L      50  /* PLT rel. address, left 21 bits.  */
#define R_PARISC_PLTOFF14R      54  /* PLT rel. address, right 14 bits.  */
#define R_PARISC_LTOFF_FPTR32   57  /* 32 bits LT-rel. function pointer. */
#define R_PARISC_LTOFF_FPTR21L  58  /* LT-rel. fct ptr, left 21 bits. */
#define R_PARISC_LTOFF_FPTR14R  62  /* LT-rel. fct ptr, right 14 bits. */
#define R_PARISC_FPTR64         64  /* 64 bits function address.  */
#define R_PARISC_PLABEL32       65  /* 32 bits function address.  */
#define R_PARISC_PCREL64        72  /* 64 bits PC-rel. address.  */
#define R_PARISC_PCREL22F       74  /* 22 bits PC-rel. address.  */
#define R_PARISC_PCREL14WR      75  /* PC-rel. address, right 14 bits.  */
#define R_PARISC_PCREL14DR      76  /* PC rel. address, right 14 bits.  */
#define R_PARISC_PCREL16F       77  /* 16 bits PC-rel. address.  */
#define R_PARISC_PCREL16WF      78  /* 16 bits PC-rel. address.  */
#define R_PARISC_PCREL16DF      79  /* 16 bits PC-rel. address.  */
#define R_PARISC_DIR64          80  /* 64 bits of eff. address.  */
#define R_PARISC_DIR14WR        83  /* 14 bits of eff. address.  */
#define R_PARISC_DIR14DR        84  /* 14 bits of eff. address.  */
#define R_PARISC_DIR16F         85  /* 16 bits of eff. address.  */
#define R_PARISC_DIR16WF        86  /* 16 bits of eff. address.  */
#define R_PARISC_DIR16DF        87  /* 16 bits of eff. address.  */
#define R_PARISC_GPREL64        88  /* 64 bits of GP-rel. address.  */
#define R_PARISC_GPREL14WR      91  /* GP-rel. address, right 14 bits.  */
#define R_PARISC_GPREL14DR      92  /* GP-rel. address, right 14 bits.  */
#define R_PARISC_GPREL16F       93  /* 16 bits GP-rel. address.  */
#define R_PARISC_GPREL16WF      94  /* 16 bits GP-rel. address.  */
#define R_PARISC_GPREL16DF      95  /* 16 bits GP-rel. address.  */
#define R_PARISC_LTOFF64        96  /* 64 bits LT-rel. address.  */
#define R_PARISC_LTOFF14WR      99  /* LT-rel. address, right 14 bits.  */
#define R_PARISC_LTOFF14DR      100 /* LT-rel. address, right 14 bits.  */
#define R_PARISC_LTOFF16F       101 /* 16 bits LT-rel. address.  */
#define R_PARISC_LTOFF16WF      102 /* 16 bits LT-rel. address.  */
#define R_PARISC_LTOFF16DF      103 /* 16 bits LT-rel. address.  */
#define R_PARISC_SECREL64       104 /* 64 bits section rel. address.  */
#define R_PARISC_SEGREL64       112 /* 64 bits segment rel. address.  */
#define R_PARISC_PLTOFF14WR     115 /* PLT-rel. address, right 14 bits.  */
#define R_PARISC_PLTOFF14DR     116 /* PLT-rel. address, right 14 bits.  */
#define R_PARISC_PLTOFF16F      117 /* 16 bits LT-rel. address.  */
#define R_PARISC_PLTOFF16WF     118 /* 16 bits PLT-rel. address.  */
#define R_PARISC_PLTOFF16DF     119 /* 16 bits PLT-rel. address.  */
#define R_PARISC_LTOFF_FPTR64   120 /* 64 bits LT-rel. function ptr.  */
#define R_PARISC_LTOFF_FPTR14WR 123 /* LT-rel. fct. ptr., right 14 bits. */
#define R_PARISC_LTOFF_FPTR14DR 124 /* LT-rel. fct. ptr., right 14 bits. */
#define R_PARISC_LTOFF_FPTR16F  125 /* 16 bits LT-rel. function ptr.  */
#define R_PARISC_LTOFF_FPTR16WF 126 /* 16 bits LT-rel. function ptr.  */
#define R_PARISC_LTOFF_FPTR16DF 127 /* 16 bits LT-rel. function ptr.  */
#define R_PARISC_LORESERVE      128
#define R_PARISC_COPY           128 /* Copy relocation.  */
#define R_PARISC_IPLT           129 /* Dynamic reloc, imported PLT */
#define R_PARISC_EPLT           130 /* Dynamic reloc, exported PLT */
#define R_PARISC_TPREL32        153 /* 32 bits TP-rel. address.  */
#define R_PARISC_TPREL21L       154 /* TP-rel. address, left 21 bits.  */
#define R_PARISC_TPREL14R       158 /* TP-rel. address, right 14 bits.  */
#define R_PARISC_LTOFF_TP21L    162 /* LT-TP-rel. address, left 21 bits. */
#define R_PARISC_LTOFF_TP14R    166 /* LT-TP-rel. address, right 14 bits.*/
#define R_PARISC_LTOFF_TP14F    167 /* 14 bits LT-TP-rel. address.  */
#define R_PARISC_TPREL64        216 /* 64 bits TP-rel. address.  */
#define R_PARISC_TPREL14WR      219 /* TP-rel. address, right 14 bits.  */
#define R_PARISC_TPREL14DR      220 /* TP-rel. address, right 14 bits.  */
#define R_PARISC_TPREL16F       221 /* 16 bits TP-rel. address.  */
#define R_PARISC_TPREL16WF      222 /* 16 bits TP-rel. address.  */
#define R_PARISC_TPREL16DF      223 /* 16 bits TP-rel. address.  */
#define R_PARISC_LTOFF_TP64     224 /* 64 bits LT-TP-rel. address.  */
#define R_PARISC_LTOFF_TP14WR   227 /* LT-TP-rel. address, right 14 bits.*/
#define R_PARISC_LTOFF_TP14DR   228 /* LT-TP-rel. address, right 14 bits.*/
#define R_PARISC_LTOFF_TP16F    229 /* 16 bits LT-TP-rel. address.  */
#define R_PARISC_LTOFF_TP16WF   230 /* 16 bits LT-TP-rel. address.  */
#define R_PARISC_LTOFF_TP16DF   231 /* 16 bits LT-TP-rel. address.  */
#define R_PARISC_HIRESERVE      255

/* Legal values for p_type field of Elf32_Phdr/Elf64_Phdr.  */

#define PT_HP_TLS               (PT_LOOS + 0x0)
#define PT_HP_CORE_NONE         (PT_LOOS + 0x1)
#define PT_HP_CORE_VERSION      (PT_LOOS + 0x2)
#define PT_HP_CORE_KERNEL       (PT_LOOS + 0x3)
#define PT_HP_CORE_COMM         (PT_LOOS + 0x4)
#define PT_HP_CORE_PROC         (PT_LOOS + 0x5)
#define PT_HP_CORE_LOADABLE     (PT_LOOS + 0x6)
#define PT_HP_CORE_STACK        (PT_LOOS + 0x7)
#define PT_HP_CORE_SHM          (PT_LOOS + 0x8)
#define PT_HP_CORE_MMF          (PT_LOOS + 0x9)
#define PT_HP_PARALLEL          (PT_LOOS + 0x10)
#define PT_HP_FASTBIND          (PT_LOOS + 0x11)
#define PT_HP_OPT_ANNOT         (PT_LOOS + 0x12)
#define PT_HP_HSL_ANNOT         (PT_LOOS + 0x13)
#define PT_HP_STACK             (PT_LOOS + 0x14)

#define PT_PARISC_ARCHEXT       0x70000000
#define PT_PARISC_UNWIND        0x70000001

/* Legal values for p_flags field of Elf32_Phdr/Elf64_Phdr.  */

#define PF_PARISC_SBP           0x08000000

#define PF_HP_PAGE_SIZE         0x00100000
#define PF_HP_FAR_SHARED        0x00200000
#define PF_HP_NEAR_SHARED       0x00400000
#define PF_HP_CODE              0x01000000
#define PF_HP_MODIFY            0x02000000
#define PF_HP_LAZYSWAP          0x04000000
#define PF_HP_SBP               0x08000000

/* IA-64 specific declarations.  */

/* Processor specific flags for the Ehdr e_flags field.  */
#define EF_IA_64_MASKOS         0x0000000f  /* os-specific flags */
#define EF_IA_64_ABI64          0x00000010  /* 64-bit ABI */
#define EF_IA_64_ARCH           0xff000000  /* arch. version mask */

/* Processor specific values for the Phdr p_type field.  */
#define PT_IA_64_ARCHEXT        (PT_LOPROC + 0) /* arch extension bits */
#define PT_IA_64_UNWIND         (PT_LOPROC + 1) /* ia64 unwind bits */

/* Processor specific flags for the Phdr p_flags field.  */
#define PF_IA_64_NORECOV        0x80000000  /* spec insns w/o recovery */

/* Processor specific values for the Shdr sh_type field.  */
#define SHT_IA_64_EXT           (SHT_LOPROC + 0) /* extension bits */
#define SHT_IA_64_UNWIND        (SHT_LOPROC + 1) /* unwind bits */

/* Processor specific flags for the Shdr sh_flags field.  */
#define SHF_IA_64_SHORT         0x10000000  /* section near gp */
#define SHF_IA_64_NORECOV       0x20000000  /* spec insns w/o recovery */

/* Processor specific values for the Dyn d_tag field.  */
#define DT_IA_64_PLT_RESERVE    (DT_LOPROC + 0)
#define DT_IA_64_NUM            1

/* IA-64 relocations.  */
#define R_IA64_NONE             0x00    /* none */
#define R_IA64_IMM14            0x21    /* symbol + addend, add imm14 */
#define R_IA64_IMM22            0x22    /* symbol + addend, add imm22 */
#define R_IA64_IMM64            0x23    /* symbol + addend, mov imm64 */
#define R_IA64_DIR32MSB         0x24    /* symbol + addend, data4 MSB */
#define R_IA64_DIR32LSB         0x25    /* symbol + addend, data4 LSB */
#define R_IA64_DIR64MSB         0x26    /* symbol + addend, data8 MSB */
#define R_IA64_DIR64LSB         0x27    /* symbol + addend, data8 LSB */
#define R_IA64_GPREL22          0x2a    /* @gprel(sym + add), add imm22 */
#define R_IA64_GPREL64I         0x2b    /* @gprel(sym + add), mov imm64 */
#define R_IA64_GPREL32MSB       0x2c    /* @gprel(sym + add), data4 MSB */
#define R_IA64_GPREL32LSB       0x2d    /* @gprel(sym + add), data4 LSB */
#define R_IA64_GPREL64MSB       0x2e    /* @gprel(sym + add), data8 MSB */
#define R_IA64_GPREL64LSB       0x2f    /* @gprel(sym + add), data8 LSB */
#define R_IA64_LTOFF22          0x32    /* @ltoff(sym + add), add imm22 */
#define R_IA64_LTOFF64I         0x33    /* @ltoff(sym + add), mov imm64 */
#define R_IA64_PLTOFF22         0x3a    /* @pltoff(sym + add), add imm22 */
#define R_IA64_PLTOFF64I        0x3b    /* @pltoff(sym + add), mov imm64 */
#define R_IA64_PLTOFF64MSB      0x3e    /* @pltoff(sym + add), data8 MSB */
#define R_IA64_PLTOFF64LSB      0x3f    /* @pltoff(sym + add), data8 LSB */
#define R_IA64_FPTR64I          0x43    /* @fptr(sym + add), mov imm64 */
#define R_IA64_FPTR32MSB        0x44    /* @fptr(sym + add), data4 MSB */
#define R_IA64_FPTR32LSB        0x45    /* @fptr(sym + add), data4 LSB */
#define R_IA64_FPTR64MSB        0x46    /* @fptr(sym + add), data8 MSB */
#define R_IA64_FPTR64LSB        0x47    /* @fptr(sym + add), data8 LSB */
#define R_IA64_PCREL60B         0x48    /* @pcrel(sym + add), brl */
#define R_IA64_PCREL21B         0x49    /* @pcrel(sym + add), ptb, call */
#define R_IA64_PCREL21M         0x4a    /* @pcrel(sym + add), chk.s */
#define R_IA64_PCREL21F         0x4b    /* @pcrel(sym + add), fchkf */
#define R_IA64_PCREL32MSB       0x4c    /* @pcrel(sym + add), data4 MSB */
#define R_IA64_PCREL32LSB       0x4d    /* @pcrel(sym + add), data4 LSB */
#define R_IA64_PCREL64MSB       0x4e    /* @pcrel(sym + add), data8 MSB */
#define R_IA64_PCREL64LSB       0x4f    /* @pcrel(sym + add), data8 LSB */
#define R_IA64_LTOFF_FPTR22     0x52    /* @ltoff(@fptr(s+a)), imm22 */
#define R_IA64_LTOFF_FPTR64I    0x53    /* @ltoff(@fptr(s+a)), imm64 */
#define R_IA64_LTOFF_FPTR32MSB  0x54    /* @ltoff(@fptr(s+a)), data4 MSB */
#define R_IA64_LTOFF_FPTR32LSB  0x55    /* @ltoff(@fptr(s+a)), data4 LSB */
#define R_IA64_LTOFF_FPTR64MSB  0x56    /* @ltoff(@fptr(s+a)), data8 MSB */
#define R_IA64_LTOFF_FPTR64LSB  0x57    /* @ltoff(@fptr(s+a)), data8 LSB */
#define R_IA64_SEGREL32MSB      0x5c    /* @segrel(sym + add), data4 MSB */
#define R_IA64_SEGREL32LSB      0x5d    /* @segrel(sym + add), data4 LSB */
#define R_IA64_SEGREL64MSB      0x5e    /* @segrel(sym + add), data8 MSB */
#define R_IA64_SEGREL64LSB      0x5f    /* @segrel(sym + add), data8 LSB */
#define R_IA64_SECREL32MSB      0x64    /* @secrel(sym + add), data4 MSB */
#define R_IA64_SECREL32LSB      0x65    /* @secrel(sym + add), data4 LSB */
#define R_IA64_SECREL64MSB      0x66    /* @secrel(sym + add), data8 MSB */
#define R_IA64_SECREL64LSB      0x67    /* @secrel(sym + add), data8 LSB */
#define R_IA64_REL32MSB         0x6c    /* data 4 + REL */
#define R_IA64_REL32LSB         0x6d    /* data 4 + REL */
#define R_IA64_REL64MSB         0x6e    /* data 8 + REL */
#define R_IA64_REL64LSB         0x6f    /* data 8 + REL */
#define R_IA64_LTV32MSB         0x74    /* symbol + addend, data4 MSB */
#define R_IA64_LTV32LSB         0x75    /* symbol + addend, data4 LSB */
#define R_IA64_LTV64MSB         0x76    /* symbol + addend, data8 MSB */
#define R_IA64_LTV64LSB         0x77    /* symbol + addend, data8 LSB */
#define R_IA64_PCREL21BI        0x79    /* @pcrel(sym + add), 21bit inst */
#define R_IA64_PCREL22          0x7a    /* @pcrel(sym + add), 22bit inst */
#define R_IA64_PCREL64I         0x7b    /* @pcrel(sym + add), 64bit inst */
#define R_IA64_IPLTMSB          0x80    /* dynamic reloc, imported PLT, MSB */
#define R_IA64_IPLTLSB          0x81    /* dynamic reloc, imported PLT, LSB */
#define R_IA64_COPY             0x84    /* copy relocation */
#define R_IA64_SUB              0x85    /* Addend and symbol difference */
#define R_IA64_LTOFF22X         0x86    /* LTOFF22, relaxable.  */
#define R_IA64_LDXMOV           0x87    /* Use of LTOFF22X.  */
#define R_IA64_TPREL14          0x91    /* @tprel(sym + add), imm14 */
#define R_IA64_TPREL22          0x92    /* @tprel(sym + add), imm22 */
#define R_IA64_TPREL64I         0x93    /* @tprel(sym + add), imm64 */
#define R_IA64_TPREL64MSB       0x96    /* @tprel(sym + add), data8 MSB */
#define R_IA64_TPREL64LSB       0x97    /* @tprel(sym + add), data8 LSB */
#define R_IA64_LTOFF_TPREL22    0x9a    /* @ltoff(@tprel(s+a)), imm2 */
#define R_IA64_DTPMOD64MSB      0xa6    /* @dtpmod(sym + add), data8 MSB */
#define R_IA64_DTPMOD64LSB      0xa7    /* @dtpmod(sym + add), data8 LSB */
#define R_IA64_LTOFF_DTPMOD22   0xaa    /* @ltoff(@dtpmod(sym + add)), imm22 */
#define R_IA64_DTPREL14         0xb1    /* @dtprel(sym + add), imm14 */
#define R_IA64_DTPREL22         0xb2    /* @dtprel(sym + add), imm22 */
#define R_IA64_DTPREL64I        0xb3    /* @dtprel(sym + add), imm64 */
#define R_IA64_DTPREL32MSB      0xb4    /* @dtprel(sym + add), data4 MSB */
#define R_IA64_DTPREL32LSB      0xb5    /* @dtprel(sym + add), data4 LSB */
#define R_IA64_DTPREL64MSB      0xb6    /* @dtprel(sym + add), data8 MSB */
#define R_IA64_DTPREL64LSB      0xb7    /* @dtprel(sym + add), data8 LSB */
#define R_IA64_LTOFF_DTPREL22   0xba    /* @ltoff(@dtprel(s+a)), imm22 */

/* RISC-V relocations.  */
#define R_RISCV_NONE          0
#define R_RISCV_32            1
#define R_RISCV_64            2
#define R_RISCV_RELATIVE      3
#define R_RISCV_COPY          4
#define R_RISCV_JUMP_SLOT     5
#define R_RISCV_TLS_DTPMOD32  6
#define R_RISCV_TLS_DTPMOD64  7
#define R_RISCV_TLS_DTPREL32  8
#define R_RISCV_TLS_DTPREL64  9
#define R_RISCV_TLS_TPREL32   10
#define R_RISCV_TLS_TPREL64   11
#define R_RISCV_BRANCH        16
#define R_RISCV_JAL           17
#define R_RISCV_CALL          18
#define R_RISCV_CALL_PLT      19
#define R_RISCV_GOT_HI20      20
#define R_RISCV_TLS_GOT_HI20  21
#define R_RISCV_TLS_GD_HI20   22
#define R_RISCV_PCREL_HI20    23
#define R_RISCV_PCREL_LO12_I  24
#define R_RISCV_PCREL_LO12_S  25
#define R_RISCV_HI20          26
#define R_RISCV_LO12_I        27
#define R_RISCV_LO12_S        28
#define R_RISCV_TPREL_HI20    29
#define R_RISCV_TPREL_LO12_I  30
#define R_RISCV_TPREL_LO12_S  31
#define R_RISCV_TPREL_ADD     32
#define R_RISCV_ADD8          33
#define R_RISCV_ADD16         34
#define R_RISCV_ADD32         35
#define R_RISCV_ADD64         36
#define R_RISCV_SUB8          37
#define R_RISCV_SUB16         38
#define R_RISCV_SUB32         39
#define R_RISCV_SUB64         40
#define R_RISCV_GNU_VTINHERIT 41
#define R_RISCV_GNU_VTENTRY   42
#define R_RISCV_ALIGN         43
#define R_RISCV_RVC_BRANCH    44
#define R_RISCV_RVC_JUMP      45
#define R_RISCV_RVC_LUI       46
#define R_RISCV_GPREL_I       47
#define R_RISCV_GPREL_S       48
#define R_RISCV_TPREL_I       49
#define R_RISCV_TPREL_S       50
#define R_RISCV_RELAX         51
#define R_RISCV_SUB6          52
#define R_RISCV_SET6          53
#define R_RISCV_SET8          54
#define R_RISCV_SET16         55
#define R_RISCV_SET32         56

/* RISC-V ELF Flags.  */
#define EF_RISCV_RVC              0x0001
#define EF_RISCV_FLOAT_ABI        0x0006
#define EF_RISCV_FLOAT_ABI_SOFT   0x0000
#define EF_RISCV_FLOAT_ABI_SINGLE 0x0002
#define EF_RISCV_FLOAT_ABI_DOUBLE 0x0004
#define EF_RISCV_FLOAT_ABI_QUAD   0x0006
#define EF_RISCV_RVE              0x0008
#define EF_RISCV_TSO              0x0010

typedef struct elf32_rel {
  Elf32_Addr r_offset;
  Elf32_Word r_info;
} Elf32_Rel;

typedef struct elf64_rel {
  Elf64_Addr r_offset;      /* Location at which to apply the action */
  Elf64_Xword r_info;       /* index and type of relocation */
} Elf64_Rel;

typedef struct elf32_rela{
  Elf32_Addr r_offset;
  Elf32_Word r_info;
  Elf32_Sword r_addend;
} Elf32_Rela;

typedef struct elf64_rela {
  Elf64_Addr r_offset;      /* Location at which to apply the action */
  Elf64_Xword r_info;       /* index and type of relocation */
  Elf64_Sxword r_addend;    /* Constant addend used to compute value */
} Elf64_Rela;

typedef struct elf32_sym{
  Elf32_Word st_name;
  Elf32_Addr st_value;
  Elf32_Word st_size;
  unsigned char st_info;
  unsigned char st_other;
  Elf32_Half st_shndx;
} Elf32_Sym;

typedef struct elf64_sym {
  Elf64_Word st_name;       /* Symbol name, index in string tbl */
  unsigned char st_info;    /* Type and binding attributes */
  unsigned char st_other;   /* No defined meaning, 0 */
  Elf64_Half st_shndx;      /* Associated section index */
  Elf64_Addr st_value;      /* Value of the symbol */
  Elf64_Xword st_size;      /* Associated symbol size */
} Elf64_Sym;


#define EI_NIDENT       16

/* Special value for e_phnum.  This indicates that the real number of
   program headers is too large to fit into e_phnum.  Instead the real
   value is in the field sh_info of section 0.  */
#define PN_XNUM         0xffff

typedef struct elf32_hdr{
  unsigned char e_ident[EI_NIDENT];
  Elf32_Half e_type;
  Elf32_Half e_machine;
  Elf32_Word e_version;
  Elf32_Addr e_entry;  /* Entry point */
  Elf32_Off e_phoff;
  Elf32_Off e_shoff;
  Elf32_Word e_flags;
  Elf32_Half e_ehsize;
  Elf32_Half e_phentsize;
  Elf32_Half e_phnum;
  Elf32_Half e_shentsize;
  Elf32_Half e_shnum;
  Elf32_Half e_shstrndx;
} Elf32_Ehdr;

typedef struct elf64_hdr {
  unsigned char e_ident[16];    /* ELF "magic number" */
  Elf64_Half e_type;
  Elf64_Half e_machine;
  Elf64_Word e_version;
  Elf64_Addr e_entry;           /* Entry point virtual address */
  Elf64_Off e_phoff;            /* Program header table file offset */
  Elf64_Off e_shoff;            /* Section header table file offset */
  Elf64_Word e_flags;
  Elf64_Half e_ehsize;
  Elf64_Half e_phentsize;
  Elf64_Half e_phnum;
  Elf64_Half e_shentsize;
  Elf64_Half e_shnum;
  Elf64_Half e_shstrndx;
} Elf64_Ehdr;

/* These constants define the permissions on sections in the program
   header, p_flags. */
#define PF_R 0x4
#define PF_W 0x2
#define PF_X 0x1

typedef struct elf32_phdr{
  Elf32_Word p_type;
  Elf32_Off p_offset;
  Elf32_Addr p_vaddr;
  Elf32_Addr p_paddr;
  Elf32_Word p_filesz;
  Elf32_Word p_memsz;
  Elf32_Word p_flags;
  Elf32_Word p_align;
} Elf32_Phdr;

typedef struct elf64_phdr {
  Elf64_Word p_type;
  Elf64_Word p_flags;
  Elf64_Off p_offset;       /* Segment file offset */
  Elf64_Addr p_vaddr;       /* Segment virtual address */
  Elf64_Addr p_paddr;       /* Segment physical address */
  Elf64_Xword p_filesz;     /* Segment size in file */
  Elf64_Xword p_memsz;      /* Segment size in memory */
  Elf64_Xword p_align;      /* Segment alignment, file & memory */
} Elf64_Phdr;

/* sh_type */
#define SHT_NULL            0
#define SHT_PROGBITS        1
#define SHT_SYMTAB          2
#define SHT_STRTAB          3
#define SHT_RELA            4
#define SHT_HASH            5
#define SHT_DYNAMIC         6
#define SHT_NOTE            7
#define SHT_NOBITS          8
#define SHT_REL             9
#define SHT_SHLIB           10
#define SHT_DYNSYM          11
#define SHT_NUM             12
#define SHT_LOPROC          0x70000000
#define SHT_HIPROC          0x7fffffff
#define SHT_LOUSER          0x80000000
#define SHT_HIUSER          0xffffffff
#define SHT_MIPS_LIST       0x70000000
#define SHT_MIPS_CONFLICT   0x70000002
#define SHT_MIPS_GPTAB      0x70000003
#define SHT_MIPS_UCODE      0x70000004

/* sh_flags */
#define SHF_WRITE       0x1
#define SHF_ALLOC       0x2
#define SHF_EXECINSTR   0x4
#define SHF_MASKPROC    0xf0000000
#define SHF_MIPS_GPREL  0x10000000

/* special section indexes */
#define SHN_UNDEF           0
#define SHN_LORESERVE       0xff00
#define SHN_LOPROC          0xff00
#define SHN_HIPROC          0xff1f
#define SHN_ABS             0xfff1
#define SHN_COMMON          0xfff2
#define SHN_HIRESERVE       0xffff
#define SHN_MIPS_ACCOMON    0xff00

typedef struct elf32_shdr {
  Elf32_Word sh_name;
  Elf32_Word sh_type;
  Elf32_Word sh_flags;
  Elf32_Addr sh_addr;
  Elf32_Off sh_offset;
  Elf32_Word sh_size;
  Elf32_Word sh_link;
  Elf32_Word sh_info;
  Elf32_Word sh_addralign;
  Elf32_Word sh_entsize;
} Elf32_Shdr;

typedef struct elf64_shdr {
  Elf64_Word sh_name;       /* Section name, index in string tbl */
  Elf64_Word sh_type;       /* Type of section */
  Elf64_Xword sh_flags;     /* Miscellaneous section attributes */
  Elf64_Addr sh_addr;       /* Section virtual addr at execution */
  Elf64_Off sh_offset;      /* Section file offset */
  Elf64_Xword sh_size;      /* Size of section in bytes */
  Elf64_Word sh_link;       /* Index of another section */
  Elf64_Word sh_info;       /* Additional section information */
  Elf64_Xword sh_addralign; /* Section alignment */
  Elf64_Xword sh_entsize;   /* Entry size if section holds table */
} Elf64_Shdr;

#define EI_MAG0     0       /* e_ident[] indexes */
#define EI_MAG1     1
#define EI_MAG2     2
#define EI_MAG3     3
#define EI_CLASS    4
#define EI_DATA     5
#define EI_VERSION  6
#define EI_OSABI    7
#define EI_PAD      8

#define ELFOSABI_NONE           0       /* UNIX System V ABI */
#define ELFOSABI_SYSV           0       /* Alias.  */
#define ELFOSABI_HPUX           1       /* HP-UX */
#define ELFOSABI_NETBSD         2       /* NetBSD.  */
#define ELFOSABI_LINUX          3       /* Linux.  */
#define ELFOSABI_SOLARIS        6       /* Sun Solaris.  */
#define ELFOSABI_AIX            7       /* IBM AIX.  */
#define ELFOSABI_IRIX           8       /* SGI Irix.  */
#define ELFOSABI_FREEBSD        9       /* FreeBSD.  */
#define ELFOSABI_TRU64          10      /* Compaq TRU64 UNIX.  */
#define ELFOSABI_MODESTO        11      /* Novell Modesto.  */
#define ELFOSABI_OPENBSD        12      /* OpenBSD.  */
#define ELFOSABI_ARM_FDPIC      65      /* ARM FDPIC */
#define ELFOSABI_XTENSA_FDPIC   65      /* Xtensa FDPIC */
#define ELFOSABI_ARM            97      /* ARM */
#define ELFOSABI_STANDALONE     255     /* Standalone (embedded) application */

#define ELFMAG0         0x7f        /* EI_MAG */
#define ELFMAG1         'E'
#define ELFMAG2         'L'
#define ELFMAG3         'F'
#define ELFMAG          "\177ELF"
#define SELFMAG         4

#define ELFCLASSNONE    0   /* EI_CLASS */
#define ELFCLASS32      1
#define ELFCLASS64      2
#define ELFCLASSNUM     3

#define ELFDATANONE     0   /* e_ident[EI_DATA] */
#define ELFDATA2LSB     1
#define ELFDATA2MSB     2

#define EV_NONE         0   /* e_version, EI_VERSION */
#define EV_CURRENT      1
#define EV_NUM          2

/* Notes used in ET_CORE */
#define NT_PRSTATUS         1
#define NT_FPREGSET         2
#define NT_PRFPREG          2
#define NT_PRPSINFO         3
#define NT_TASKSTRUCT       4
#define NT_AUXV             6
#define NT_PRXFPREG         0x46e62b7f  /* copied from gdb5.1/include/elf/common.h */
#define NT_S390_PV_CPU_DATA 0x30e       /* s390 protvirt cpu dump data */
#define NT_S390_RI_CB       0x30d       /* s390 runtime instrumentation */
#define NT_S390_GS_CB       0x30b       /* s390 guarded storage registers */
#define NT_S390_VXRS_HIGH   0x30a       /* s390 vector registers 16-31 */
#define NT_S390_VXRS_LOW    0x309       /* s390 vector registers 0-15 (lower half) */
#define NT_S390_PREFIX      0x305       /* s390 prefix register */
#define NT_S390_CTRS        0x304       /* s390 control registers */
#define NT_S390_TODPREG     0x303       /* s390 TOD programmable register */
#define NT_S390_TODCMP      0x302       /* s390 TOD clock comparator register */
#define NT_S390_TIMER       0x301       /* s390 timer register */
#define NT_PPC_VMX          0x100       /* PowerPC Altivec/VMX registers */
#define NT_PPC_SPE          0x101       /* PowerPC SPE/EVR registers */
#define NT_PPC_VSX          0x102       /* PowerPC VSX registers */
#define NT_ARM_VFP          0x400       /* ARM VFP/NEON registers */
#define NT_ARM_TLS          0x401       /* ARM TLS register */
#define NT_ARM_HW_BREAK     0x402       /* ARM hardware breakpoint registers */
#define NT_ARM_HW_WATCH     0x403       /* ARM hardware watchpoint registers */
#define NT_ARM_SYSTEM_CALL  0x404       /* ARM system call number */
#define NT_ARM_SVE          0x405       /* ARM Scalable Vector Extension regs */

/* Defined note types for GNU systems.  */

#define NT_GNU_PROPERTY_TYPE_0  5       /* Program property */

/* Values used in GNU .note.gnu.property notes (NT_GNU_PROPERTY_TYPE_0).  */

#define GNU_PROPERTY_STACK_SIZE                 1
#define GNU_PROPERTY_NO_COPY_ON_PROTECTED       2

#define GNU_PROPERTY_LOPROC                     0xc0000000
#define GNU_PROPERTY_HIPROC                     0xdfffffff
#define GNU_PROPERTY_LOUSER                     0xe0000000
#define GNU_PROPERTY_HIUSER                     0xffffffff

#define GNU_PROPERTY_AARCH64_FEATURE_1_AND      0xc0000000
#define GNU_PROPERTY_AARCH64_FEATURE_1_BTI      (1u << 0)
#define GNU_PROPERTY_AARCH64_FEATURE_1_PAC      (1u << 1)

/*
 * Physical entry point into the kernel.
 *
 * 32bit entry point into the kernel. When requested to launch the
 * guest kernel, use this entry point to launch the guest in 32-bit
 * protected mode with paging disabled.
 *
 * [ Corresponding definition in Linux kernel: include/xen/interface/elfnote.h ]
 */
#define XEN_ELFNOTE_PHYS32_ENTRY    18  /* 0x12 */

/* Note header in a PT_NOTE section */
typedef struct elf32_note {
  Elf32_Word n_namesz;   /* Name size */
  Elf32_Word n_descsz;   /* Content size */
  Elf32_Word n_type;     /* Content type */
} Elf32_Nhdr;

/* Note header in a PT_NOTE section */
typedef struct elf64_note {
  Elf64_Word n_namesz;  /* Name size */
  Elf64_Word n_descsz;  /* Content size */
  Elf64_Word n_type;    /* Content type */
} Elf64_Nhdr;


/* This data structure represents a PT_LOAD segment.  */
struct elf32_fdpic_loadseg {
  /* Core address to which the segment is mapped.  */
  Elf32_Addr addr;
  /* VMA recorded in the program header.  */
  Elf32_Addr p_vaddr;
  /* Size of this segment in memory.  */
  Elf32_Word p_memsz;
};
struct elf32_fdpic_loadmap {
  /* Protocol version number, must be zero.  */
  Elf32_Half version;
  /* Number of segments in this map.  */
  Elf32_Half nsegs;
  /* The actual memory map.  */
  struct elf32_fdpic_loadseg segs[/*nsegs*/];
};

#ifdef ELF_CLASS
#if ELF_CLASS == ELFCLASS32

#define elfhdr      elf32_hdr
#define elf_phdr    elf32_phdr
#define elf_note    elf32_note
#define elf_shdr    elf32_shdr
#define elf_sym     elf32_sym
#define elf_addr_t  Elf32_Off
#define elf_rela    elf32_rela

#ifdef ELF_USES_RELOCA
# define ELF_RELOC      Elf32_Rela
#else
# define ELF_RELOC      Elf32_Rel
#endif

#else

#define elfhdr      elf64_hdr
#define elf_phdr    elf64_phdr
#define elf_note    elf64_note
#define elf_shdr    elf64_shdr
#define elf_sym     elf64_sym
#define elf_addr_t  Elf64_Off
#define elf_rela    elf64_rela

#ifdef ELF_USES_RELOCA
# define ELF_RELOC      Elf64_Rela
#else
# define ELF_RELOC      Elf64_Rel
#endif

#endif /* ELF_CLASS */

#ifndef ElfW
# if ELF_CLASS == ELFCLASS32
#  define ElfW(x)  Elf32_ ## x
#  define ELFW(x)  ELF32_ ## x
# else
#  define ElfW(x)  Elf64_ ## x
#  define ELFW(x)  ELF64_ ## x
# endif
#endif

#endif /* ELF_CLASS */


#endif /* QEMU_ELF_H */
