1*fae548d3Szrj /* C-SKY ELF support for BFD. 2*fae548d3Szrj Copyright (C) 1998-2020 Free Software Foundation, Inc. 3*fae548d3Szrj Contributed by C-SKY Microsystems and Mentor Graphics. 4*fae548d3Szrj 5*fae548d3Szrj This file is part of BFD, the Binary File Descriptor library. 6*fae548d3Szrj 7*fae548d3Szrj This program is free software; you can redistribute it and/or modify 8*fae548d3Szrj it under the terms of the GNU General Public License as published by 9*fae548d3Szrj the Free Software Foundation; either version 3 of the License, or 10*fae548d3Szrj (at your option) any later version. 11*fae548d3Szrj 12*fae548d3Szrj This program is distributed in the hope that it will be useful, 13*fae548d3Szrj but WITHOUT ANY WARRANTY; without even the implied warranty of 14*fae548d3Szrj MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*fae548d3Szrj GNU General Public License for more details. 16*fae548d3Szrj 17*fae548d3Szrj You should have received a copy of the GNU General Public License 18*fae548d3Szrj along with this program; if not, write to the Free Software Foundation, 19*fae548d3Szrj Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ 20*fae548d3Szrj 21*fae548d3Szrj #ifndef _ELF_CSKY_H 22*fae548d3Szrj #define _ELF_CSKY_H 23*fae548d3Szrj 24*fae548d3Szrj #include "elf/reloc-macros.h" 25*fae548d3Szrj 26*fae548d3Szrj /* Values of relocation types according to the ABI doc. 27*fae548d3Szrj The order should be consistent with csky bfd reloc type 28*fae548d3Szrj table in bfd-in2.h. */ 29*fae548d3Szrj START_RELOC_NUMBERS (elf_csky_reloc_type) 30*fae548d3Szrj RELOC_NUMBER (R_CKCORE_NONE,0) 31*fae548d3Szrj RELOC_NUMBER (R_CKCORE_ADDR32,1) 32*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_IMM8BY4,2) 33*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_IMM11BY2,3) 34*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_IMM4BY2,4) 35*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL32,5) 36*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_JSR_IMM11BY2,6) 37*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GNU_VTINHERIT,7) 38*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GNU_VTENTRY,8) 39*fae548d3Szrj RELOC_NUMBER (R_CKCORE_RELATIVE,9) 40*fae548d3Szrj RELOC_NUMBER (R_CKCORE_COPY,10) 41*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GLOB_DAT,11) 42*fae548d3Szrj RELOC_NUMBER (R_CKCORE_JUMP_SLOT,12) 43*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOTOFF,13) 44*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOTPC,14) 45*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOT32,15) 46*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PLT32,16) 47*fae548d3Szrj RELOC_NUMBER (R_CKCORE_ADDRGOT,17) 48*fae548d3Szrj RELOC_NUMBER (R_CKCORE_ADDRPLT,18) 49*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_IMM26BY2,19) 50*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_IMM16BY2,20) 51*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_IMM16BY4,21) 52*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_IMM10BY2,22) 53*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_IMM10BY4,23) 54*fae548d3Szrj RELOC_NUMBER (R_CKCORE_ADDR_HI16,24) 55*fae548d3Szrj RELOC_NUMBER (R_CKCORE_ADDR_LO16,25) 56*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOTPC_HI16,26) 57*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOTPC_LO16,27) 58*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOTOFF_HI16,28) 59*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOTOFF_LO16,29) 60*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOT12,30) 61*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOT_HI16,31) 62*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOT_LO16,32) 63*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PLT12,33) 64*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PLT_HI16,34) 65*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PLT_LO16,35) 66*fae548d3Szrj RELOC_NUMBER (R_CKCORE_ADDRGOT_HI16,36) 67*fae548d3Szrj RELOC_NUMBER (R_CKCORE_ADDRGOT_LO16,37) 68*fae548d3Szrj RELOC_NUMBER (R_CKCORE_ADDRPLT_HI16,38) 69*fae548d3Szrj RELOC_NUMBER (R_CKCORE_ADDRPLT_LO16,39) 70*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_JSR_IMM26BY2,40) 71*fae548d3Szrj RELOC_NUMBER (R_CKCORE_TOFFSET_LO16, 41) 72*fae548d3Szrj RELOC_NUMBER (R_CKCORE_DOFFSET_LO16, 42) 73*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_IMM18BY2, 43) 74*fae548d3Szrj RELOC_NUMBER (R_CKCORE_DOFFSET_IMM18, 44) 75*fae548d3Szrj RELOC_NUMBER (R_CKCORE_DOFFSET_IMM18BY2, 45) 76*fae548d3Szrj RELOC_NUMBER (R_CKCORE_DOFFSET_IMM18BY4, 46) 77*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOTOFF_IMM18, 47) 78*fae548d3Szrj RELOC_NUMBER (R_CKCORE_GOT_IMM18BY4, 48) 79*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PLT_IMM18BY4, 49) 80*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_IMM7BY4, 50) 81*fae548d3Szrj RELOC_NUMBER (R_CKCORE_TLS_LE32, 51) 82*fae548d3Szrj RELOC_NUMBER (R_CKCORE_TLS_IE32, 52) 83*fae548d3Szrj RELOC_NUMBER (R_CKCORE_TLS_GD32, 53) 84*fae548d3Szrj RELOC_NUMBER (R_CKCORE_TLS_LDM32, 54) 85*fae548d3Szrj RELOC_NUMBER (R_CKCORE_TLS_LDO32, 55) 86*fae548d3Szrj RELOC_NUMBER (R_CKCORE_TLS_DTPMOD32, 56) 87*fae548d3Szrj RELOC_NUMBER (R_CKCORE_TLS_DTPOFF32, 57) 88*fae548d3Szrj RELOC_NUMBER (R_CKCORE_TLS_TPOFF32, 58) 89*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_FLRW_IMM8BY4, 59) 90*fae548d3Szrj RELOC_NUMBER (R_CKCORE_NOJSRI, 60) 91*fae548d3Szrj RELOC_NUMBER (R_CKCORE_CALLGRAPH, 61) 92*fae548d3Szrj RELOC_NUMBER (R_CKCORE_IRELATIVE, 62) 93*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_BLOOP_IMM4BY4, 63) 94*fae548d3Szrj RELOC_NUMBER (R_CKCORE_PCREL_BLOOP_IMM12BY4, 64) 95*fae548d3Szrj END_RELOC_NUMBERS (R_CKCORE_MAX) 96*fae548d3Szrj 97*fae548d3Szrj #endif /* _ELF_CSKY_H */ 98