1*92e19e77Skettenis /* $OpenBSD: reloc.h,v 1.2 2020/07/18 16:41:43 kettenis Exp $ */ 2b0f62f45Sdrahn 3b0f62f45Sdrahn /* 4*92e19e77Skettenis * Copyright (c) 2020 Mark Kettenis <kettenis@openbsd.org> 5*92e19e77Skettenis * 6*92e19e77Skettenis * Permission to use, copy, modify, and distribute this software for any 7*92e19e77Skettenis * purpose with or without fee is hereby granted, provided that the above 8*92e19e77Skettenis * copyright notice and this permission notice appear in all copies. 9*92e19e77Skettenis * 10*92e19e77Skettenis * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11*92e19e77Skettenis * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12*92e19e77Skettenis * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13*92e19e77Skettenis * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14*92e19e77Skettenis * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15*92e19e77Skettenis * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16*92e19e77Skettenis * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17b0f62f45Sdrahn */ 18b0f62f45Sdrahn 19*92e19e77Skettenis #ifndef _MACHINE_RELOC_H_ 20*92e19e77Skettenis #define _MACHINE_RELOC_H_ 21b0f62f45Sdrahn 22*92e19e77Skettenis #define R_PPC64_NONE 0 23*92e19e77Skettenis #define R_PPC64_ADDR32 1 24*92e19e77Skettenis #define R_PPC64_ADDR24 2 25*92e19e77Skettenis #define R_PPC64_ADDR16 3 26*92e19e77Skettenis #define R_PPC64_ADDR16_LO 4 27*92e19e77Skettenis #define R_PPC64_ADDR16_HI 5 28*92e19e77Skettenis #define R_PPC64_ADDR16_HA 6 29*92e19e77Skettenis #define R_PPC64_ADDR14 7 30*92e19e77Skettenis 31*92e19e77Skettenis #define R_PPC64_REL24 10 32*92e19e77Skettenis #define R_PPC64_REL14 11 33*92e19e77Skettenis 34*92e19e77Skettenis #define R_PPC64_GOT16 14 35*92e19e77Skettenis #define R_PPC64_GOT16_LO 15 36*92e19e77Skettenis #define R_PPC64_GOT16_HI 16 37*92e19e77Skettenis #define R_PPC64_GOT16_HA 17 38*92e19e77Skettenis 39*92e19e77Skettenis #define R_PPC64_COPY 19 40*92e19e77Skettenis #define R_PPC64_GLOB_DAT 20 41*92e19e77Skettenis #define R_PPC64_JMP_SLOT 21 42*92e19e77Skettenis #define R_PPC64_RELATIVE 22 43*92e19e77Skettenis 44*92e19e77Skettenis #define R_PPC64_UADDR32 24 45*92e19e77Skettenis #define R_PPC64_UADDR16 25 46*92e19e77Skettenis #define R_PPC64_REL32 26 47*92e19e77Skettenis #define R_PPC64_PLT32 27 48*92e19e77Skettenis #define R_PPC64_PLTREL32 28 49*92e19e77Skettenis #define R_PPC64_PLT16_LO 29 50*92e19e77Skettenis #define R_PPC64_PLT16_HI 30 51*92e19e77Skettenis #define R_PPC64_PLT16_HA 31 52*92e19e77Skettenis 53*92e19e77Skettenis #define R_PPC64_SECTOFF 33 54*92e19e77Skettenis #define R_PPC64_SECTOFF_LO 34 55*92e19e77Skettenis #define R_PPC64_SECTOFF_HI 35 56*92e19e77Skettenis #define R_PPC64_SECTOFF_HA 36 57*92e19e77Skettenis #define R_PPC64_REL30 37 58*92e19e77Skettenis #define R_PPC64_ADDR64 38 59*92e19e77Skettenis #define R_PPC64_ADDR16_HIGHER 39 60*92e19e77Skettenis #define R_PPC64_ADDR16_HIGHERA 40 61*92e19e77Skettenis #define R_PPC64_ADDR16_HIGHEST 41 62*92e19e77Skettenis #define R_PPC64_ADDR16_HIGHESTA 42 63*92e19e77Skettenis #define R_PPC64_UADDR64 43 64*92e19e77Skettenis #define R_PPC64_REL64 44 65*92e19e77Skettenis #define R_PPC64_PLT64 45 66*92e19e77Skettenis #define R_PPC64_PLTREL64 46 67*92e19e77Skettenis #define R_PPC64_TOC16 47 68*92e19e77Skettenis #define R_PPC64_TOC16_LO 48 69*92e19e77Skettenis #define R_PPC64_TOC16_HI 49 70*92e19e77Skettenis #define R_PPC64_TOC16_HA 50 71*92e19e77Skettenis #define R_PPC64_TOC 51 72*92e19e77Skettenis #define R_PPC64_PLTGOT16 52 73*92e19e77Skettenis #define R_PPC64_PLTGOT16_LO 53 74*92e19e77Skettenis #define R_PPC64_PLTGOT16_HI 54 75*92e19e77Skettenis #define R_PPC64_PLTGOT16_HA 55 76*92e19e77Skettenis #define R_PPC64_ADDR16_DS 56 77*92e19e77Skettenis #define R_PPC64_ADDR16_LO_DS 57 78*92e19e77Skettenis #define R_PPC64_GOT16_DS 58 79*92e19e77Skettenis #define R_PPC64_GOT16_LO_DS 59 80*92e19e77Skettenis #define R_PPC64_PLT16_LO_DS 60 81*92e19e77Skettenis #define R_PPC64_SECTOFF_DS 61 82*92e19e77Skettenis #define R_PPC64_SECTOFF_LO_DS 62 83*92e19e77Skettenis #define R_PPC64_TOC16_DS 63 84*92e19e77Skettenis #define R_PPC64_TOC16_LO_DS 64 85*92e19e77Skettenis #define R_PPC64_PLTGOT16_DS 65 86*92e19e77Skettenis #define R_PPC64_PLTGOT16_LO_DS 66 87*92e19e77Skettenis #define R_PPC64_TLS 67 88*92e19e77Skettenis #define R_PPC64_DTPMOD64 68 89*92e19e77Skettenis #define R_PPC64_TPREL16 69 90*92e19e77Skettenis #define R_PPC64_TPREL16_LO 70 91*92e19e77Skettenis #define R_PPC64_TPREL16_HI 71 92*92e19e77Skettenis #define R_PPC64_TPREL16_HA 72 93*92e19e77Skettenis #define R_PPC64_TPREL64 73 94*92e19e77Skettenis #define R_PPC64_DTPREL16 74 95*92e19e77Skettenis #define R_PPC64_DTPREL16_LO 75 96*92e19e77Skettenis #define R_PPC64_DTPREL16_HI 76 97*92e19e77Skettenis #define R_PPC64_DTPREL16_HA 77 98*92e19e77Skettenis #define R_PPC64_DTPREL64 78 99*92e19e77Skettenis #define R_PPC64_GOT_TLSGD16 79 100*92e19e77Skettenis #define R_PPC64_GOT_TLSGD16_LO 80 101*92e19e77Skettenis #define R_PPC64_GOT_TLSGD16_HI 81 102*92e19e77Skettenis #define R_PPC64_GOT_TLSGD16_HA 82 103*92e19e77Skettenis #define R_PPC64_GOT_TLSD16 83 104*92e19e77Skettenis #define R_PPC64_GOT_TLSD16_LO 84 105*92e19e77Skettenis #define R_PPC64_GOT_TLSD16_HI 85 106*92e19e77Skettenis #define R_PPC64_GOT_TLSD16_HA 86 107*92e19e77Skettenis #define R_PPC64_GOT_TPREL16_DS 87 108*92e19e77Skettenis #define R_PPC64_GOT_TPREL16_LO_DS 88 109*92e19e77Skettenis #define R_PPC64_GOT_TPREL16_HI 89 110*92e19e77Skettenis #define R_PPC64_GOT_TPREL16_HA 90 111*92e19e77Skettenis #define R_PPC64_GOT_DTPREL16_DS 91 112*92e19e77Skettenis #define R_PPC64_GOT_DTPREL16_LO_DS 92 113*92e19e77Skettenis #define R_PPC64_GOT_DTPREL16_HI 93 114*92e19e77Skettenis #define R_PPC64_GOT_DTPREL16_HA 94 115*92e19e77Skettenis #define R_PPC64_TPREL16_DS 95 116*92e19e77Skettenis #define R_PPC64_TPREL16_LO_DS 96 117*92e19e77Skettenis #define R_PPC64_TPREL16_HIGHER 97 118*92e19e77Skettenis #define R_PPC64_TPREL16_HIGHERA 98 119*92e19e77Skettenis #define R_PPC64_TPREL16_HIGHEST 99 120*92e19e77Skettenis #define R_PPC64_TPREL16_HIGHESTA 100 121*92e19e77Skettenis #define R_PPC64_DTPREL16_DS 101 122*92e19e77Skettenis #define R_PPC64_DTPREL16_LO_DS 102 123*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGHER 103 124*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGHERA 104 125*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGHEST 105 126*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGHESTA 106 127*92e19e77Skettenis #define R_PPC64_TLSGD 107 128*92e19e77Skettenis #define R_PPC64_TLSLD 108 129*92e19e77Skettenis #define R_PPC64_TOCSAVE 109 130*92e19e77Skettenis #define R_PPC64_ADDR16_HIGH 110 131*92e19e77Skettenis #define R_PPC64_ADDR16_HIGHA 111 132*92e19e77Skettenis #define R_PPC64_TPREL16_HIGH 112 133*92e19e77Skettenis #define R_PPC64_TPREL16_HIGHA 113 134*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGH 114 135*92e19e77Skettenis #define R_PPC64_DTPREL16_HIGHA 115 136*92e19e77Skettenis #define R_PPC64_REL24_NOTOC 116 137*92e19e77Skettenis #define R_PPC64_ADDR64_LOCAL 117 138*92e19e77Skettenis #define R_PPC64_ENTRY 118 139*92e19e77Skettenis 140*92e19e77Skettenis #define R_PPC64_IRELATIVE 248 141*92e19e77Skettenis #define R_PPC64_REL16 249 142*92e19e77Skettenis #define R_PPC64_REL16_LO 250 143*92e19e77Skettenis #define R_PPC64_REL16_HI 251 144*92e19e77Skettenis #define R_PPC64_REL16_HA 252 145*92e19e77Skettenis #define R_PPC64_GNU_VTINHERIT 253 146*92e19e77Skettenis #define R_PPC64_GNU_VTENTRY 254 147*92e19e77Skettenis 148*92e19e77Skettenis #endif /* _MACHINE_RELOC_H_ */ 149