xref: /dflybsd-src/contrib/binutils-2.34/include/elf/or1k.h (revision b52ef7118d1621abed722c5bbbd542210290ecef)
1*fae548d3Szrj /* Or1k ELF support for BFD.
2*fae548d3Szrj    Copyright (C) 2001-2020 Free Software Foundation, Inc.
3*fae548d3Szrj 
4*fae548d3Szrj    This file is part of BFD, the Binary File Descriptor library.
5*fae548d3Szrj 
6*fae548d3Szrj    This program is free software; you can redistribute it and/or modify
7*fae548d3Szrj    it under the terms of the GNU General Public License as published by
8*fae548d3Szrj    the Free Software Foundation; either version 3 of the License, or
9*fae548d3Szrj    (at your option) any later version.
10*fae548d3Szrj 
11*fae548d3Szrj    This program is distributed in the hope that it will be useful,
12*fae548d3Szrj    but WITHOUT ANY WARRANTY; without even the implied warranty of
13*fae548d3Szrj    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*fae548d3Szrj    GNU General Public License for more details.
15*fae548d3Szrj 
16*fae548d3Szrj    You should have received a copy of the GNU General Public License
17*fae548d3Szrj    along with this program; if not, see <http://www.gnu.org/licenses/> */
18*fae548d3Szrj 
19*fae548d3Szrj #ifndef _ELF_OR1K_H
20*fae548d3Szrj #define _ELF_OR1K_H
21*fae548d3Szrj 
22*fae548d3Szrj #include "elf/reloc-macros.h"
23*fae548d3Szrj 
24*fae548d3Szrj /* Relocations.  */
25*fae548d3Szrj START_RELOC_NUMBERS (elf_or1k_reloc_type)
26*fae548d3Szrj   RELOC_NUMBER (R_OR1K_NONE,           0)
27*fae548d3Szrj   RELOC_NUMBER (R_OR1K_32,             1)
28*fae548d3Szrj   RELOC_NUMBER (R_OR1K_16,             2)
29*fae548d3Szrj   RELOC_NUMBER (R_OR1K_8,              3)
30*fae548d3Szrj   RELOC_NUMBER (R_OR1K_LO_16_IN_INSN,  4)
31*fae548d3Szrj   RELOC_NUMBER (R_OR1K_HI_16_IN_INSN,  5)
32*fae548d3Szrj   RELOC_NUMBER (R_OR1K_INSN_REL_26,    6)
33*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GNU_VTENTRY,    7)
34*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GNU_VTINHERIT,  8)
35*fae548d3Szrj   RELOC_NUMBER (R_OR1K_32_PCREL,       9)
36*fae548d3Szrj   RELOC_NUMBER (R_OR1K_16_PCREL,      10)
37*fae548d3Szrj   RELOC_NUMBER (R_OR1K_8_PCREL,       11)
38*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GOTPC_HI16,    12)
39*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GOTPC_LO16,    13)
40*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GOT16,         14)
41*fae548d3Szrj   RELOC_NUMBER (R_OR1K_PLT26,         15)
42*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GOTOFF_HI16,   16)
43*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GOTOFF_LO16,   17)
44*fae548d3Szrj   RELOC_NUMBER (R_OR1K_COPY,          18)
45*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GLOB_DAT,      19)
46*fae548d3Szrj   RELOC_NUMBER (R_OR1K_JMP_SLOT,      20)
47*fae548d3Szrj   RELOC_NUMBER (R_OR1K_RELATIVE,      21)
48*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_GD_HI16,   22)
49*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_GD_LO16,   23)
50*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_LDM_HI16,  24)
51*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_LDM_LO16,  25)
52*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_LDO_HI16,  26)
53*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_LDO_LO16,  27)
54*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_IE_HI16,   28)
55*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_IE_LO16,   29)
56*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_LE_HI16,   30)
57*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_LE_LO16,   31)
58*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_TPOFF,     32)
59*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_DTPOFF,    33)
60*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_DTPMOD,    34)
61*fae548d3Szrj   RELOC_NUMBER (R_OR1K_AHI16,         35)
62*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GOTOFF_AHI16,  36)
63*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_IE_AHI16,  37)
64*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_LE_AHI16,  38)
65*fae548d3Szrj   RELOC_NUMBER (R_OR1K_SLO16,         39)
66*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GOTOFF_SLO16,  40)
67*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_LE_SLO16,  41)
68*fae548d3Szrj   RELOC_NUMBER (R_OR1K_PCREL_PG21,    42)
69*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GOT_PG21,      43)
70*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_GD_PG21,   44)
71*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_LDM_PG21,  45)
72*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_IE_PG21,   46)
73*fae548d3Szrj   RELOC_NUMBER (R_OR1K_LO13,          47)
74*fae548d3Szrj   RELOC_NUMBER (R_OR1K_GOT_LO13,      48)
75*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_GD_LO13,   49)
76*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_LDM_LO13,  50)
77*fae548d3Szrj   RELOC_NUMBER (R_OR1K_TLS_IE_LO13,   51)
78*fae548d3Szrj   RELOC_NUMBER (R_OR1K_SLO13,         52)
79*fae548d3Szrj   RELOC_NUMBER (R_OR1K_PLTA26,        53)
80*fae548d3Szrj END_RELOC_NUMBERS (R_OR1K_max)
81*fae548d3Szrj 
82*fae548d3Szrj #define EF_OR1K_NODELAY (1UL << 0)
83*fae548d3Szrj 
84*fae548d3Szrj #endif /* _ELF_OR1K_H */
85