xref: /netbsd-src/external/gpl3/binutils.old/dist/include/elf/or1k.h (revision e992f068c547fd6e84b3f104dc2340adcc955732)
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