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