1968cf8f2Schristos /* Or1k ELF support for BFD. 2*02f41505Schristos Copyright (C) 2001-2024 Free Software Foundation, Inc. 3968cf8f2Schristos 4968cf8f2Schristos This file is part of BFD, the Binary File Descriptor library. 5968cf8f2Schristos 6968cf8f2Schristos This program is free software; you can redistribute it and/or modify 7968cf8f2Schristos it under the terms of the GNU General Public License as published by 8968cf8f2Schristos the Free Software Foundation; either version 3 of the License, or 9968cf8f2Schristos (at your option) any later version. 10968cf8f2Schristos 11968cf8f2Schristos This program is distributed in the hope that it will be useful, 12968cf8f2Schristos but WITHOUT ANY WARRANTY; without even the implied warranty of 13968cf8f2Schristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14968cf8f2Schristos GNU General Public License for more details. 15968cf8f2Schristos 16968cf8f2Schristos You should have received a copy of the GNU General Public License 17968cf8f2Schristos along with this program; if not, see <http://www.gnu.org/licenses/> */ 18968cf8f2Schristos 19968cf8f2Schristos #ifndef _ELF_OR1K_H 20968cf8f2Schristos #define _ELF_OR1K_H 21968cf8f2Schristos 22968cf8f2Schristos #include "elf/reloc-macros.h" 23968cf8f2Schristos 24968cf8f2Schristos /* Relocations. */ 25968cf8f2Schristos START_RELOC_NUMBERS (elf_or1k_reloc_type) 26968cf8f2Schristos RELOC_NUMBER (R_OR1K_NONE, 0) 27968cf8f2Schristos RELOC_NUMBER (R_OR1K_32, 1) 28968cf8f2Schristos RELOC_NUMBER (R_OR1K_16, 2) 29968cf8f2Schristos RELOC_NUMBER (R_OR1K_8, 3) 30968cf8f2Schristos RELOC_NUMBER (R_OR1K_LO_16_IN_INSN, 4) 31968cf8f2Schristos RELOC_NUMBER (R_OR1K_HI_16_IN_INSN, 5) 32968cf8f2Schristos RELOC_NUMBER (R_OR1K_INSN_REL_26, 6) 33968cf8f2Schristos RELOC_NUMBER (R_OR1K_GNU_VTENTRY, 7) 34968cf8f2Schristos RELOC_NUMBER (R_OR1K_GNU_VTINHERIT, 8) 35968cf8f2Schristos RELOC_NUMBER (R_OR1K_32_PCREL, 9) 36968cf8f2Schristos RELOC_NUMBER (R_OR1K_16_PCREL, 10) 37968cf8f2Schristos RELOC_NUMBER (R_OR1K_8_PCREL, 11) 38968cf8f2Schristos RELOC_NUMBER (R_OR1K_GOTPC_HI16, 12) 39968cf8f2Schristos RELOC_NUMBER (R_OR1K_GOTPC_LO16, 13) 40968cf8f2Schristos RELOC_NUMBER (R_OR1K_GOT16, 14) 41968cf8f2Schristos RELOC_NUMBER (R_OR1K_PLT26, 15) 42968cf8f2Schristos RELOC_NUMBER (R_OR1K_GOTOFF_HI16, 16) 43968cf8f2Schristos RELOC_NUMBER (R_OR1K_GOTOFF_LO16, 17) 44968cf8f2Schristos RELOC_NUMBER (R_OR1K_COPY, 18) 45968cf8f2Schristos RELOC_NUMBER (R_OR1K_GLOB_DAT, 19) 46968cf8f2Schristos RELOC_NUMBER (R_OR1K_JMP_SLOT, 20) 47968cf8f2Schristos RELOC_NUMBER (R_OR1K_RELATIVE, 21) 48968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_GD_HI16, 22) 49968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_GD_LO16, 23) 50968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_LDM_HI16, 24) 51968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_LDM_LO16, 25) 52968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_LDO_HI16, 26) 53968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_LDO_LO16, 27) 54968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_IE_HI16, 28) 55968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_IE_LO16, 29) 56968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_LE_HI16, 30) 57968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_LE_LO16, 31) 58968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_TPOFF, 32) 59968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_DTPOFF, 33) 60968cf8f2Schristos RELOC_NUMBER (R_OR1K_TLS_DTPMOD, 34) 614559860eSchristos RELOC_NUMBER (R_OR1K_AHI16, 35) 624559860eSchristos RELOC_NUMBER (R_OR1K_GOTOFF_AHI16, 36) 634559860eSchristos RELOC_NUMBER (R_OR1K_TLS_IE_AHI16, 37) 644559860eSchristos RELOC_NUMBER (R_OR1K_TLS_LE_AHI16, 38) 654559860eSchristos RELOC_NUMBER (R_OR1K_SLO16, 39) 664559860eSchristos RELOC_NUMBER (R_OR1K_GOTOFF_SLO16, 40) 674559860eSchristos RELOC_NUMBER (R_OR1K_TLS_LE_SLO16, 41) 684559860eSchristos RELOC_NUMBER (R_OR1K_PCREL_PG21, 42) 694559860eSchristos RELOC_NUMBER (R_OR1K_GOT_PG21, 43) 704559860eSchristos RELOC_NUMBER (R_OR1K_TLS_GD_PG21, 44) 714559860eSchristos RELOC_NUMBER (R_OR1K_TLS_LDM_PG21, 45) 724559860eSchristos RELOC_NUMBER (R_OR1K_TLS_IE_PG21, 46) 734559860eSchristos RELOC_NUMBER (R_OR1K_LO13, 47) 744559860eSchristos RELOC_NUMBER (R_OR1K_GOT_LO13, 48) 754559860eSchristos RELOC_NUMBER (R_OR1K_TLS_GD_LO13, 49) 764559860eSchristos RELOC_NUMBER (R_OR1K_TLS_LDM_LO13, 50) 774559860eSchristos RELOC_NUMBER (R_OR1K_TLS_IE_LO13, 51) 784559860eSchristos RELOC_NUMBER (R_OR1K_SLO13, 52) 794559860eSchristos RELOC_NUMBER (R_OR1K_PLTA26, 53) 804b169a6bSchristos RELOC_NUMBER (R_OR1K_GOT_AHI16, 54) 81968cf8f2Schristos END_RELOC_NUMBERS (R_OR1K_max) 82968cf8f2Schristos 83968cf8f2Schristos #define EF_OR1K_NODELAY (1UL << 0) 84968cf8f2Schristos 85968cf8f2Schristos #endif /* _ELF_OR1K_H */ 86