Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:24:25

0001 /*  $NetBSD: elf_machdep.h,v 1.9 2011/01/15 10:00:07 matt Exp $ */
0002 
0003 #define ELF32_MACHDEP_ENDIANNESS    ELFDATA2MSB
0004 #define ELF32_MACHDEP_ID_CASES                      \
0005         case EM_PPC:                        \
0006             break;
0007 
0008 #define ELF64_MACHDEP_ENDIANNESS    ELFDATA2MSB
0009 #define ELF64_MACHDEP_ID_CASES                      \
0010         case EM_PPC64:                      \
0011             break;
0012 
0013 #define ELF32_MACHDEP_ID    EM_PPC
0014 #define ELF64_MACHDEP_ID    EM_PPC64
0015 
0016 #ifdef _LP64
0017 #define ARCH_ELFSIZE        64  /* MD native binary size */
0018 #else
0019 #define ARCH_ELFSIZE        32  /* MD native binary size */
0020 #endif
0021 
0022 /* Specify the value of _GLOBAL_OFFSET_TABLE_ */
0023 #define DT_PPC_GOT      DT_LOPROC
0024 
0025 #define R_PPC_NONE      0
0026 #define R_PPC_32        1
0027 #define R_PPC_24        2
0028 #define R_PPC_16        3
0029 #define R_PPC_16_LO         4
0030 #define R_PPC_16_HI         5 /* R_PPC_ADDIS */
0031 #define R_PPC_16_HA         6
0032 #define R_PPC_14        7
0033 #define R_PPC_14_TAKEN      8
0034 #define R_PPC_14_NTAKEN     9
0035 #define R_PPC_REL24         10 /* R_PPC_BRANCH */
0036 #define R_PPC_REL14         11
0037 #define R_PPC_REL14_TAKEN   12
0038 #define R_PPC_REL14_NTAKEN  13
0039 #define R_PPC_GOT16         14
0040 #define R_PPC_GOT16_LO      15
0041 #define R_PPC_GOT16_HI      16
0042 #define R_PPC_GOT16_HA      17
0043 #define R_PPC_PLT24         18
0044 #define R_PPC_COPY      19
0045 #define R_PPC_GLOB_DAT      20
0046 #define R_PPC_JMP_SLOT      21
0047 #define R_PPC_RELATIVE      22
0048 #define R_PPC_LOCAL24PC     23
0049 #define R_PPC_U32       24
0050 #define R_PPC_U16       25
0051 #define R_PPC_REL32         26
0052 #define R_PPC_PLT32         27
0053 #define R_PPC_PLTREL32      28
0054 #define R_PPC_PLT16_LO      29
0055 #define R_PPC_PLT16_HI      30
0056 #define R_PPC_PLT16_HA      31
0057 #define R_PPC_SDAREL16      32
0058 #define R_PPC_SECTOFF       33
0059 #define R_PPC_SECTOFF_LO    34
0060 #define R_PPC_SECTOFF_HI    35
0061 #define R_PPC_SECTOFF_HA    36
0062 #define R_PPC_ADDR30        37
0063 
0064 /* TLS relocations */
0065 #define R_PPC_TLS       67
0066 
0067 #define R_PPC_DTPMOD32      68
0068 #define R_PPC_TPREL16       69
0069 #define R_PPC_TPREL16_LO    70
0070 #define R_PPC_TPREL16_HI    71
0071 #define R_PPC_TPREL16_HA    72
0072 #define R_PPC_TPREL32       73
0073 #define R_PPC_DTPREL16      74
0074 #define R_PPC_DTPREL16_LO   75
0075 #define R_PPC_DTPREL16_HI   76
0076 #define R_PPC_DTPREL16_HA   77
0077 #define R_PPC_DTPREL32      78
0078 
0079 #define R_PPC_GOT_TLSGD16   79
0080 #define R_PPC_GOT_TLSGD16_LO    80
0081 #define R_PPC_GOT_TLSGD16_HI    81
0082 #define R_PPC_GOT_TLSGD16_HA    82
0083 #define R_PPC_GOT_TLSLD16   83
0084 #define R_PPC_GOT_TLSLD16_LO    84
0085 #define R_PPC_GOT_TLSLD16_HI    85
0086 #define R_PPC_GOT_TLSLD16_HA    86
0087 
0088 #define R_PPC_GOT_TPREL16   87
0089 #define R_PPC_GOT_TPREL16_LO    88
0090 #define R_PPC_GOT_TPREL16_HI    89
0091 #define R_PPC_GOT_TPREL16_HA    90
0092 #define R_PPC_GOT_DTPREL16  91
0093 #define R_PPC_GOT_DTPREL16_LO   92
0094 #define R_PPC_GOT_DTPREL16_HI   93
0095 #define R_PPC_GOT_DTPREL16_HA   94
0096 #define R_PPC_TLSGD     95
0097 #define R_PPC_TLSLD     96
0098 
0099 /* Used for the secure-plt PIC code sequences */
0100 #define R_PPC_REL16     249
0101 #define R_PPC_REL16_LO      250
0102 #define R_PPC_REL16_HI      251
0103 #define R_PPC_REL16_HA      252
0104 
0105 #define R_TYPE(name)        __CONCAT(R_PPC_,name)