PowerPC64.def 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. #ifndef ELF_RELOC
  2. #error "ELF_RELOC must be defined"
  3. #endif
  4. // glibc's PowerPC asm/sigcontext.h, when compiling for PPC64, has the
  5. // unfortunate behavior of including asm/elf.h, which defines R_PPC_NONE, etc.
  6. // to their corresponding integer values. As a result, we need to undef them
  7. // here before continuing.
  8. #undef R_PPC64_NONE
  9. #undef R_PPC64_ADDR32
  10. #undef R_PPC64_ADDR24
  11. #undef R_PPC64_ADDR16
  12. #undef R_PPC64_ADDR16_LO
  13. #undef R_PPC64_ADDR16_HI
  14. #undef R_PPC64_ADDR16_HA
  15. #undef R_PPC64_ADDR14
  16. #undef R_PPC64_ADDR14_BRTAKEN
  17. #undef R_PPC64_ADDR14_BRNTAKEN
  18. #undef R_PPC64_REL24
  19. #undef R_PPC64_REL14
  20. #undef R_PPC64_REL14_BRTAKEN
  21. #undef R_PPC64_REL14_BRNTAKEN
  22. #undef R_PPC64_GOT16
  23. #undef R_PPC64_GOT16_LO
  24. #undef R_PPC64_GOT16_HI
  25. #undef R_PPC64_GOT16_HA
  26. #undef R_PPC64_COPY
  27. #undef R_PPC64_GLOB_DAT
  28. #undef R_PPC64_JMP_SLOT
  29. #undef R_PPC64_RELATIVE
  30. #undef R_PPC64_REL32
  31. #undef R_PPC64_ADDR64
  32. #undef R_PPC64_ADDR16_HIGHER
  33. #undef R_PPC64_ADDR16_HIGHERA
  34. #undef R_PPC64_ADDR16_HIGHEST
  35. #undef R_PPC64_ADDR16_HIGHESTA
  36. #undef R_PPC64_REL64
  37. #undef R_PPC64_TOC16
  38. #undef R_PPC64_TOC16_LO
  39. #undef R_PPC64_TOC16_HI
  40. #undef R_PPC64_TOC16_HA
  41. #undef R_PPC64_TOC
  42. #undef R_PPC64_ADDR16_DS
  43. #undef R_PPC64_ADDR16_LO_DS
  44. #undef R_PPC64_GOT16_DS
  45. #undef R_PPC64_GOT16_LO_DS
  46. #undef R_PPC64_TOC16_DS
  47. #undef R_PPC64_TOC16_LO_DS
  48. #undef R_PPC64_TLS
  49. #undef R_PPC64_DTPMOD64
  50. #undef R_PPC64_TPREL16
  51. #undef R_PPC64_TPREL16_LO
  52. #undef R_PPC64_TPREL16_HI
  53. #undef R_PPC64_TPREL16_HA
  54. #undef R_PPC64_TPREL64
  55. #undef R_PPC64_DTPREL16
  56. #undef R_PPC64_DTPREL16_LO
  57. #undef R_PPC64_DTPREL16_HI
  58. #undef R_PPC64_DTPREL16_HA
  59. #undef R_PPC64_DTPREL64
  60. #undef R_PPC64_GOT_TLSGD16
  61. #undef R_PPC64_GOT_TLSGD16_LO
  62. #undef R_PPC64_GOT_TLSGD16_HI
  63. #undef R_PPC64_GOT_TLSGD16_HA
  64. #undef R_PPC64_GOT_TLSLD16
  65. #undef R_PPC64_GOT_TLSLD16_LO
  66. #undef R_PPC64_GOT_TLSLD16_HI
  67. #undef R_PPC64_GOT_TLSLD16_HA
  68. #undef R_PPC64_GOT_TPREL16_DS
  69. #undef R_PPC64_GOT_TPREL16_LO_DS
  70. #undef R_PPC64_GOT_TPREL16_HI
  71. #undef R_PPC64_GOT_TPREL16_HA
  72. #undef R_PPC64_GOT_DTPREL16_DS
  73. #undef R_PPC64_GOT_DTPREL16_LO_DS
  74. #undef R_PPC64_GOT_DTPREL16_HI
  75. #undef R_PPC64_GOT_DTPREL16_HA
  76. #undef R_PPC64_TPREL16_DS
  77. #undef R_PPC64_TPREL16_LO_DS
  78. #undef R_PPC64_TPREL16_HIGHER
  79. #undef R_PPC64_TPREL16_HIGHERA
  80. #undef R_PPC64_TPREL16_HIGHEST
  81. #undef R_PPC64_TPREL16_HIGHESTA
  82. #undef R_PPC64_DTPREL16_DS
  83. #undef R_PPC64_DTPREL16_LO_DS
  84. #undef R_PPC64_DTPREL16_HIGHER
  85. #undef R_PPC64_DTPREL16_HIGHERA
  86. #undef R_PPC64_DTPREL16_HIGHEST
  87. #undef R_PPC64_DTPREL16_HIGHESTA
  88. #undef R_PPC64_TLSGD
  89. #undef R_PPC64_TLSLD
  90. #undef R_PPC64_ADDR16_HIGH
  91. #undef R_PPC64_ADDR16_HIGHA
  92. #undef R_PPC64_TPREL16_HIGH
  93. #undef R_PPC64_TPREL16_HIGHA
  94. #undef R_PPC64_DTPREL16_HIGH
  95. #undef R_PPC64_DTPREL16_HIGHA
  96. #undef R_PPC64_REL24_NOTOC
  97. #undef R_PPC64_PCREL_OPT
  98. #undef R_PPC64_PCREL34
  99. #undef R_PPC64_GOT_PCREL34
  100. #undef R_PPC64_TPREL34
  101. #undef R_PPC64_DTPREL34
  102. #undef R_PPC64_GOT_TLSGD_PCREL34
  103. #undef R_PPC64_GOT_TLSLD_PCREL34
  104. #undef R_PPC64_GOT_TPREL_PCREL34
  105. #undef R_PPC64_IRELATIVE
  106. #undef R_PPC64_REL16
  107. #undef R_PPC64_REL16_LO
  108. #undef R_PPC64_REL16_HI
  109. #undef R_PPC64_REL16_HA
  110. ELF_RELOC(R_PPC64_NONE, 0)
  111. ELF_RELOC(R_PPC64_ADDR32, 1)
  112. ELF_RELOC(R_PPC64_ADDR24, 2)
  113. ELF_RELOC(R_PPC64_ADDR16, 3)
  114. ELF_RELOC(R_PPC64_ADDR16_LO, 4)
  115. ELF_RELOC(R_PPC64_ADDR16_HI, 5)
  116. ELF_RELOC(R_PPC64_ADDR16_HA, 6)
  117. ELF_RELOC(R_PPC64_ADDR14, 7)
  118. ELF_RELOC(R_PPC64_ADDR14_BRTAKEN, 8)
  119. ELF_RELOC(R_PPC64_ADDR14_BRNTAKEN, 9)
  120. ELF_RELOC(R_PPC64_REL24, 10)
  121. ELF_RELOC(R_PPC64_REL14, 11)
  122. ELF_RELOC(R_PPC64_REL14_BRTAKEN, 12)
  123. ELF_RELOC(R_PPC64_REL14_BRNTAKEN, 13)
  124. ELF_RELOC(R_PPC64_GOT16, 14)
  125. ELF_RELOC(R_PPC64_GOT16_LO, 15)
  126. ELF_RELOC(R_PPC64_GOT16_HI, 16)
  127. ELF_RELOC(R_PPC64_GOT16_HA, 17)
  128. ELF_RELOC(R_PPC64_COPY, 19)
  129. ELF_RELOC(R_PPC64_GLOB_DAT, 20)
  130. ELF_RELOC(R_PPC64_JMP_SLOT, 21)
  131. ELF_RELOC(R_PPC64_RELATIVE, 22)
  132. ELF_RELOC(R_PPC64_REL32, 26)
  133. ELF_RELOC(R_PPC64_ADDR64, 38)
  134. ELF_RELOC(R_PPC64_ADDR16_HIGHER, 39)
  135. ELF_RELOC(R_PPC64_ADDR16_HIGHERA, 40)
  136. ELF_RELOC(R_PPC64_ADDR16_HIGHEST, 41)
  137. ELF_RELOC(R_PPC64_ADDR16_HIGHESTA, 42)
  138. ELF_RELOC(R_PPC64_REL64, 44)
  139. ELF_RELOC(R_PPC64_TOC16, 47)
  140. ELF_RELOC(R_PPC64_TOC16_LO, 48)
  141. ELF_RELOC(R_PPC64_TOC16_HI, 49)
  142. ELF_RELOC(R_PPC64_TOC16_HA, 50)
  143. ELF_RELOC(R_PPC64_TOC, 51)
  144. ELF_RELOC(R_PPC64_ADDR16_DS, 56)
  145. ELF_RELOC(R_PPC64_ADDR16_LO_DS, 57)
  146. ELF_RELOC(R_PPC64_GOT16_DS, 58)
  147. ELF_RELOC(R_PPC64_GOT16_LO_DS, 59)
  148. ELF_RELOC(R_PPC64_TOC16_DS, 63)
  149. ELF_RELOC(R_PPC64_TOC16_LO_DS, 64)
  150. ELF_RELOC(R_PPC64_TLS, 67)
  151. ELF_RELOC(R_PPC64_DTPMOD64, 68)
  152. ELF_RELOC(R_PPC64_TPREL16, 69)
  153. ELF_RELOC(R_PPC64_TPREL16_LO, 70)
  154. ELF_RELOC(R_PPC64_TPREL16_HI, 71)
  155. ELF_RELOC(R_PPC64_TPREL16_HA, 72)
  156. ELF_RELOC(R_PPC64_TPREL64, 73)
  157. ELF_RELOC(R_PPC64_DTPREL16, 74)
  158. ELF_RELOC(R_PPC64_DTPREL16_LO, 75)
  159. ELF_RELOC(R_PPC64_DTPREL16_HI, 76)
  160. ELF_RELOC(R_PPC64_DTPREL16_HA, 77)
  161. ELF_RELOC(R_PPC64_DTPREL64, 78)
  162. ELF_RELOC(R_PPC64_GOT_TLSGD16, 79)
  163. ELF_RELOC(R_PPC64_GOT_TLSGD16_LO, 80)
  164. ELF_RELOC(R_PPC64_GOT_TLSGD16_HI, 81)
  165. ELF_RELOC(R_PPC64_GOT_TLSGD16_HA, 82)
  166. ELF_RELOC(R_PPC64_GOT_TLSLD16, 83)
  167. ELF_RELOC(R_PPC64_GOT_TLSLD16_LO, 84)
  168. ELF_RELOC(R_PPC64_GOT_TLSLD16_HI, 85)
  169. ELF_RELOC(R_PPC64_GOT_TLSLD16_HA, 86)
  170. ELF_RELOC(R_PPC64_GOT_TPREL16_DS, 87)
  171. ELF_RELOC(R_PPC64_GOT_TPREL16_LO_DS, 88)
  172. ELF_RELOC(R_PPC64_GOT_TPREL16_HI, 89)
  173. ELF_RELOC(R_PPC64_GOT_TPREL16_HA, 90)
  174. ELF_RELOC(R_PPC64_GOT_DTPREL16_DS, 91)
  175. ELF_RELOC(R_PPC64_GOT_DTPREL16_LO_DS, 92)
  176. ELF_RELOC(R_PPC64_GOT_DTPREL16_HI, 93)
  177. ELF_RELOC(R_PPC64_GOT_DTPREL16_HA, 94)
  178. ELF_RELOC(R_PPC64_TPREL16_DS, 95)
  179. ELF_RELOC(R_PPC64_TPREL16_LO_DS, 96)
  180. ELF_RELOC(R_PPC64_TPREL16_HIGHER, 97)
  181. ELF_RELOC(R_PPC64_TPREL16_HIGHERA, 98)
  182. ELF_RELOC(R_PPC64_TPREL16_HIGHEST, 99)
  183. ELF_RELOC(R_PPC64_TPREL16_HIGHESTA, 100)
  184. ELF_RELOC(R_PPC64_DTPREL16_DS, 101)
  185. ELF_RELOC(R_PPC64_DTPREL16_LO_DS, 102)
  186. ELF_RELOC(R_PPC64_DTPREL16_HIGHER, 103)
  187. ELF_RELOC(R_PPC64_DTPREL16_HIGHERA, 104)
  188. ELF_RELOC(R_PPC64_DTPREL16_HIGHEST, 105)
  189. ELF_RELOC(R_PPC64_DTPREL16_HIGHESTA, 106)
  190. ELF_RELOC(R_PPC64_TLSGD, 107)
  191. ELF_RELOC(R_PPC64_TLSLD, 108)
  192. ELF_RELOC(R_PPC64_ADDR16_HIGH, 110)
  193. ELF_RELOC(R_PPC64_ADDR16_HIGHA, 111)
  194. ELF_RELOC(R_PPC64_TPREL16_HIGH, 112)
  195. ELF_RELOC(R_PPC64_TPREL16_HIGHA, 113)
  196. ELF_RELOC(R_PPC64_DTPREL16_HIGH, 114)
  197. ELF_RELOC(R_PPC64_DTPREL16_HIGHA, 115)
  198. ELF_RELOC(R_PPC64_REL24_NOTOC, 116)
  199. ELF_RELOC(R_PPC64_PCREL_OPT, 123)
  200. ELF_RELOC(R_PPC64_PCREL34, 132)
  201. ELF_RELOC(R_PPC64_GOT_PCREL34, 133)
  202. ELF_RELOC(R_PPC64_TPREL34, 146)
  203. ELF_RELOC(R_PPC64_DTPREL34, 147)
  204. ELF_RELOC(R_PPC64_GOT_TLSGD_PCREL34, 148)
  205. ELF_RELOC(R_PPC64_GOT_TLSLD_PCREL34, 149)
  206. ELF_RELOC(R_PPC64_GOT_TPREL_PCREL34, 150)
  207. ELF_RELOC(R_PPC64_IRELATIVE, 248)
  208. ELF_RELOC(R_PPC64_REL16, 249)
  209. ELF_RELOC(R_PPC64_REL16_LO, 250)
  210. ELF_RELOC(R_PPC64_REL16_HI, 251)
  211. ELF_RELOC(R_PPC64_REL16_HA, 252)