1*02f41505Schristos /* KVX ELF support for BFD. 2*02f41505Schristos 3*02f41505Schristos Copyright (C) 2009-2024 Free Software Foundation, Inc. 4*02f41505Schristos Contributed by Kalray SA. 5*02f41505Schristos 6*02f41505Schristos This file is part of GNU Binutils. 7*02f41505Schristos 8*02f41505Schristos This program is free software; you can redistribute it and/or modify 9*02f41505Schristos it under the terms of the GNU General Public License as published by 10*02f41505Schristos the Free Software Foundation; either version 3 of the license, or 11*02f41505Schristos (at your option) any later version. 12*02f41505Schristos 13*02f41505Schristos This program is distributed in the hope that it will be useful, 14*02f41505Schristos but WITHOUT ANY WARRANTY; without even the implied warranty of 15*02f41505Schristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*02f41505Schristos GNU General Public License for more details. 17*02f41505Schristos 18*02f41505Schristos You should have received a copy of the GNU General Public License 19*02f41505Schristos along with this program; see the file COPYING3. If not, 20*02f41505Schristos see <http://www.gnu.org/licenses/>. */ 21*02f41505Schristos 22*02f41505Schristos #ifndef _ELF_KVX_H 23*02f41505Schristos #define _ELF_KVX_H 24*02f41505Schristos 25*02f41505Schristos #include "elf/reloc-macros.h" 26*02f41505Schristos 27*02f41505Schristos START_RELOC_NUMBERS (elf_kvx_reloc_type) 28*02f41505Schristos RELOC_NUMBER (R_KVX_NONE, 0) 29*02f41505Schristos RELOC_NUMBER (R_KVX_16, 1) 30*02f41505Schristos RELOC_NUMBER (R_KVX_32, 2) 31*02f41505Schristos RELOC_NUMBER (R_KVX_64, 3) 32*02f41505Schristos RELOC_NUMBER (R_KVX_S16_PCREL, 4) 33*02f41505Schristos RELOC_NUMBER (R_KVX_PCREL17, 5) 34*02f41505Schristos RELOC_NUMBER (R_KVX_PCREL27, 6) 35*02f41505Schristos RELOC_NUMBER (R_KVX_32_PCREL, 7) 36*02f41505Schristos RELOC_NUMBER (R_KVX_S37_PCREL_LO10, 8) 37*02f41505Schristos RELOC_NUMBER (R_KVX_S37_PCREL_UP27, 9) 38*02f41505Schristos RELOC_NUMBER (R_KVX_S43_PCREL_LO10, 10) 39*02f41505Schristos RELOC_NUMBER (R_KVX_S43_PCREL_UP27, 11) 40*02f41505Schristos RELOC_NUMBER (R_KVX_S43_PCREL_EX6, 12) 41*02f41505Schristos RELOC_NUMBER (R_KVX_S64_PCREL_LO10, 13) 42*02f41505Schristos RELOC_NUMBER (R_KVX_S64_PCREL_UP27, 14) 43*02f41505Schristos RELOC_NUMBER (R_KVX_S64_PCREL_EX27, 15) 44*02f41505Schristos RELOC_NUMBER (R_KVX_64_PCREL, 16) 45*02f41505Schristos RELOC_NUMBER (R_KVX_S16, 17) 46*02f41505Schristos RELOC_NUMBER (R_KVX_S32_LO5, 18) 47*02f41505Schristos RELOC_NUMBER (R_KVX_S32_UP27, 19) 48*02f41505Schristos RELOC_NUMBER (R_KVX_S37_LO10, 20) 49*02f41505Schristos RELOC_NUMBER (R_KVX_S37_UP27, 21) 50*02f41505Schristos RELOC_NUMBER (R_KVX_S37_GOTOFF_LO10, 22) 51*02f41505Schristos RELOC_NUMBER (R_KVX_S37_GOTOFF_UP27, 23) 52*02f41505Schristos RELOC_NUMBER (R_KVX_S43_GOTOFF_LO10, 24) 53*02f41505Schristos RELOC_NUMBER (R_KVX_S43_GOTOFF_UP27, 25) 54*02f41505Schristos RELOC_NUMBER (R_KVX_S43_GOTOFF_EX6, 26) 55*02f41505Schristos RELOC_NUMBER (R_KVX_32_GOTOFF, 27) 56*02f41505Schristos RELOC_NUMBER (R_KVX_64_GOTOFF, 28) 57*02f41505Schristos RELOC_NUMBER (R_KVX_32_GOT, 29) 58*02f41505Schristos RELOC_NUMBER (R_KVX_S37_GOT_LO10, 30) 59*02f41505Schristos RELOC_NUMBER (R_KVX_S37_GOT_UP27, 31) 60*02f41505Schristos RELOC_NUMBER (R_KVX_S43_GOT_LO10, 32) 61*02f41505Schristos RELOC_NUMBER (R_KVX_S43_GOT_UP27, 33) 62*02f41505Schristos RELOC_NUMBER (R_KVX_S43_GOT_EX6, 34) 63*02f41505Schristos RELOC_NUMBER (R_KVX_64_GOT, 35) 64*02f41505Schristos RELOC_NUMBER (R_KVX_GLOB_DAT, 36) 65*02f41505Schristos RELOC_NUMBER (R_KVX_COPY, 37) 66*02f41505Schristos RELOC_NUMBER (R_KVX_JMP_SLOT, 38) 67*02f41505Schristos RELOC_NUMBER (R_KVX_RELATIVE, 39) 68*02f41505Schristos RELOC_NUMBER (R_KVX_S43_LO10, 40) 69*02f41505Schristos RELOC_NUMBER (R_KVX_S43_UP27, 41) 70*02f41505Schristos RELOC_NUMBER (R_KVX_S43_EX6, 42) 71*02f41505Schristos RELOC_NUMBER (R_KVX_S64_LO10, 43) 72*02f41505Schristos RELOC_NUMBER (R_KVX_S64_UP27, 44) 73*02f41505Schristos RELOC_NUMBER (R_KVX_S64_EX27, 45) 74*02f41505Schristos RELOC_NUMBER (R_KVX_S37_GOTADDR_LO10, 46) 75*02f41505Schristos RELOC_NUMBER (R_KVX_S37_GOTADDR_UP27, 47) 76*02f41505Schristos RELOC_NUMBER (R_KVX_S43_GOTADDR_LO10, 48) 77*02f41505Schristos RELOC_NUMBER (R_KVX_S43_GOTADDR_UP27, 49) 78*02f41505Schristos RELOC_NUMBER (R_KVX_S43_GOTADDR_EX6, 50) 79*02f41505Schristos RELOC_NUMBER (R_KVX_S64_GOTADDR_LO10, 51) 80*02f41505Schristos RELOC_NUMBER (R_KVX_S64_GOTADDR_UP27, 52) 81*02f41505Schristos RELOC_NUMBER (R_KVX_S64_GOTADDR_EX27, 53) 82*02f41505Schristos RELOC_NUMBER (R_KVX_64_DTPMOD, 54) 83*02f41505Schristos RELOC_NUMBER (R_KVX_64_DTPOFF, 55) 84*02f41505Schristos RELOC_NUMBER (R_KVX_S37_TLS_DTPOFF_LO10, 56) 85*02f41505Schristos RELOC_NUMBER (R_KVX_S37_TLS_DTPOFF_UP27, 57) 86*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_DTPOFF_LO10, 58) 87*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_DTPOFF_UP27, 59) 88*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_DTPOFF_EX6, 60) 89*02f41505Schristos RELOC_NUMBER (R_KVX_S37_TLS_GD_LO10, 61) 90*02f41505Schristos RELOC_NUMBER (R_KVX_S37_TLS_GD_UP27, 62) 91*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_GD_LO10, 63) 92*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_GD_UP27, 64) 93*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_GD_EX6, 65) 94*02f41505Schristos RELOC_NUMBER (R_KVX_S37_TLS_LD_LO10, 66) 95*02f41505Schristos RELOC_NUMBER (R_KVX_S37_TLS_LD_UP27, 67) 96*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_LD_LO10, 68) 97*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_LD_UP27, 69) 98*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_LD_EX6, 70) 99*02f41505Schristos RELOC_NUMBER (R_KVX_64_TPOFF, 71) 100*02f41505Schristos RELOC_NUMBER (R_KVX_S37_TLS_IE_LO10, 72) 101*02f41505Schristos RELOC_NUMBER (R_KVX_S37_TLS_IE_UP27, 73) 102*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_IE_LO10, 74) 103*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_IE_UP27, 75) 104*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_IE_EX6, 76) 105*02f41505Schristos RELOC_NUMBER (R_KVX_S37_TLS_LE_LO10, 77) 106*02f41505Schristos RELOC_NUMBER (R_KVX_S37_TLS_LE_UP27, 78) 107*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_LE_LO10, 79) 108*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_LE_UP27, 80) 109*02f41505Schristos RELOC_NUMBER (R_KVX_S43_TLS_LE_EX6, 81) 110*02f41505Schristos RELOC_NUMBER (R_KVX_8, 82) 111*02f41505Schristos END_RELOC_NUMBERS (R_KVX_end) 112*02f41505Schristos 113*02f41505Schristos #include "kvx_elfids.h" 114*02f41505Schristos 115*02f41505Schristos #endif 116