175fd0b74Schristos /* Or1k ELF support for BFD. 2*e992f068Schristos Copyright (C) 2001-2022 Free Software Foundation, Inc. 375fd0b74Schristos 475fd0b74Schristos This file is part of BFD, the Binary File Descriptor library. 575fd0b74Schristos 675fd0b74Schristos This program is free software; you can redistribute it and/or modify 775fd0b74Schristos it under the terms of the GNU General Public License as published by 875fd0b74Schristos the Free Software Foundation; either version 3 of the License, or 975fd0b74Schristos (at your option) any later version. 1075fd0b74Schristos 1175fd0b74Schristos This program is distributed in the hope that it will be useful, 1275fd0b74Schristos but WITHOUT ANY WARRANTY; without even the implied warranty of 1375fd0b74Schristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1475fd0b74Schristos GNU General Public License for more details. 1575fd0b74Schristos 1675fd0b74Schristos You should have received a copy of the GNU General Public License 1775fd0b74Schristos along with this program; if not, see <http://www.gnu.org/licenses/> */ 1875fd0b74Schristos 1975fd0b74Schristos #ifndef _ELF_OR1K_H 2075fd0b74Schristos #define _ELF_OR1K_H 2175fd0b74Schristos 2275fd0b74Schristos #include "elf/reloc-macros.h" 2375fd0b74Schristos 2475fd0b74Schristos /* Relocations. */ 2575fd0b74Schristos START_RELOC_NUMBERS (elf_or1k_reloc_type) 2675fd0b74Schristos RELOC_NUMBER (R_OR1K_NONE, 0) 2775fd0b74Schristos RELOC_NUMBER (R_OR1K_32, 1) 2875fd0b74Schristos RELOC_NUMBER (R_OR1K_16, 2) 2975fd0b74Schristos RELOC_NUMBER (R_OR1K_8, 3) 3075fd0b74Schristos RELOC_NUMBER (R_OR1K_LO_16_IN_INSN, 4) 3175fd0b74Schristos RELOC_NUMBER (R_OR1K_HI_16_IN_INSN, 5) 3275fd0b74Schristos RELOC_NUMBER (R_OR1K_INSN_REL_26, 6) 3375fd0b74Schristos RELOC_NUMBER (R_OR1K_GNU_VTENTRY, 7) 3475fd0b74Schristos RELOC_NUMBER (R_OR1K_GNU_VTINHERIT, 8) 3575fd0b74Schristos RELOC_NUMBER (R_OR1K_32_PCREL, 9) 3675fd0b74Schristos RELOC_NUMBER (R_OR1K_16_PCREL, 10) 3775fd0b74Schristos RELOC_NUMBER (R_OR1K_8_PCREL, 11) 3875fd0b74Schristos RELOC_NUMBER (R_OR1K_GOTPC_HI16, 12) 3975fd0b74Schristos RELOC_NUMBER (R_OR1K_GOTPC_LO16, 13) 4075fd0b74Schristos RELOC_NUMBER (R_OR1K_GOT16, 14) 4175fd0b74Schristos RELOC_NUMBER (R_OR1K_PLT26, 15) 4275fd0b74Schristos RELOC_NUMBER (R_OR1K_GOTOFF_HI16, 16) 4375fd0b74Schristos RELOC_NUMBER (R_OR1K_GOTOFF_LO16, 17) 4475fd0b74Schristos RELOC_NUMBER (R_OR1K_COPY, 18) 4575fd0b74Schristos RELOC_NUMBER (R_OR1K_GLOB_DAT, 19) 4675fd0b74Schristos RELOC_NUMBER (R_OR1K_JMP_SLOT, 20) 4775fd0b74Schristos RELOC_NUMBER (R_OR1K_RELATIVE, 21) 4875fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_GD_HI16, 22) 4975fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_GD_LO16, 23) 5075fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_LDM_HI16, 24) 5175fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_LDM_LO16, 25) 5275fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_LDO_HI16, 26) 5375fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_LDO_LO16, 27) 5475fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_IE_HI16, 28) 5575fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_IE_LO16, 29) 5675fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_LE_HI16, 30) 5775fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_LE_LO16, 31) 5875fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_TPOFF, 32) 5975fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_DTPOFF, 33) 6075fd0b74Schristos RELOC_NUMBER (R_OR1K_TLS_DTPMOD, 34) 61012573ebSchristos RELOC_NUMBER (R_OR1K_AHI16, 35) 62012573ebSchristos RELOC_NUMBER (R_OR1K_GOTOFF_AHI16, 36) 63012573ebSchristos RELOC_NUMBER (R_OR1K_TLS_IE_AHI16, 37) 64012573ebSchristos RELOC_NUMBER (R_OR1K_TLS_LE_AHI16, 38) 65012573ebSchristos RELOC_NUMBER (R_OR1K_SLO16, 39) 66012573ebSchristos RELOC_NUMBER (R_OR1K_GOTOFF_SLO16, 40) 67012573ebSchristos RELOC_NUMBER (R_OR1K_TLS_LE_SLO16, 41) 68012573ebSchristos RELOC_NUMBER (R_OR1K_PCREL_PG21, 42) 69012573ebSchristos RELOC_NUMBER (R_OR1K_GOT_PG21, 43) 70012573ebSchristos RELOC_NUMBER (R_OR1K_TLS_GD_PG21, 44) 71012573ebSchristos RELOC_NUMBER (R_OR1K_TLS_LDM_PG21, 45) 72012573ebSchristos RELOC_NUMBER (R_OR1K_TLS_IE_PG21, 46) 73012573ebSchristos RELOC_NUMBER (R_OR1K_LO13, 47) 74012573ebSchristos RELOC_NUMBER (R_OR1K_GOT_LO13, 48) 75012573ebSchristos RELOC_NUMBER (R_OR1K_TLS_GD_LO13, 49) 76012573ebSchristos RELOC_NUMBER (R_OR1K_TLS_LDM_LO13, 50) 77012573ebSchristos RELOC_NUMBER (R_OR1K_TLS_IE_LO13, 51) 78012573ebSchristos RELOC_NUMBER (R_OR1K_SLO13, 52) 79012573ebSchristos RELOC_NUMBER (R_OR1K_PLTA26, 53) 80*e992f068Schristos RELOC_NUMBER (R_OR1K_GOT_AHI16, 54) 8175fd0b74Schristos END_RELOC_NUMBERS (R_OR1K_max) 8275fd0b74Schristos 8375fd0b74Schristos #define EF_OR1K_NODELAY (1UL << 0) 8475fd0b74Schristos 8575fd0b74Schristos #endif /* _ELF_OR1K_H */ 86