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