Home | History | Annotate | Line # | Download | only in elf
      1 /* KVX ELF support for BFD.
      2 
      3    Copyright (C) 2009-2025 Free Software Foundation, Inc.
      4    Contributed by Kalray SA.
      5 
      6    This file is part of GNU Binutils.
      7 
      8    This program is free software; you can redistribute it and/or modify
      9    it under the terms of the GNU General Public License as published by
     10    the Free Software Foundation; either version 3 of the license, or
     11    (at your option) any later version.
     12 
     13    This program is distributed in the hope that it will be useful,
     14    but WITHOUT ANY WARRANTY; without even the implied warranty of
     15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16    GNU General Public License for more details.
     17 
     18    You should have received a copy of the GNU General Public License
     19    along with this program; see the file COPYING3. If not,
     20    see <http://www.gnu.org/licenses/>.  */
     21 
     22 #ifndef _ELF_KVX_H
     23 #define _ELF_KVX_H
     24 
     25 #include "elf/reloc-macros.h"
     26 
     27 START_RELOC_NUMBERS (elf_kvx_reloc_type)
     28     RELOC_NUMBER (R_KVX_NONE,                                  0)
     29     RELOC_NUMBER (R_KVX_16,                                    1)
     30     RELOC_NUMBER (R_KVX_32,                                    2)
     31     RELOC_NUMBER (R_KVX_64,                                    3)
     32     RELOC_NUMBER (R_KVX_S16_PCREL,                             4)
     33     RELOC_NUMBER (R_KVX_PCREL17,                               5)
     34     RELOC_NUMBER (R_KVX_PCREL27,                               6)
     35     RELOC_NUMBER (R_KVX_32_PCREL,                              7)
     36     RELOC_NUMBER (R_KVX_S37_PCREL_LO10,                        8)
     37     RELOC_NUMBER (R_KVX_S37_PCREL_UP27,                        9)
     38     RELOC_NUMBER (R_KVX_S43_PCREL_LO10,                       10)
     39     RELOC_NUMBER (R_KVX_S43_PCREL_UP27,                       11)
     40     RELOC_NUMBER (R_KVX_S43_PCREL_EX6,                        12)
     41     RELOC_NUMBER (R_KVX_S64_PCREL_LO10,                       13)
     42     RELOC_NUMBER (R_KVX_S64_PCREL_UP27,                       14)
     43     RELOC_NUMBER (R_KVX_S64_PCREL_EX27,                       15)
     44     RELOC_NUMBER (R_KVX_64_PCREL,                             16)
     45     RELOC_NUMBER (R_KVX_S16,                                  17)
     46     RELOC_NUMBER (R_KVX_S32_LO5,                              18)
     47     RELOC_NUMBER (R_KVX_S32_UP27,                             19)
     48     RELOC_NUMBER (R_KVX_S37_LO10,                             20)
     49     RELOC_NUMBER (R_KVX_S37_UP27,                             21)
     50     RELOC_NUMBER (R_KVX_S37_GOTOFF_LO10,                      22)
     51     RELOC_NUMBER (R_KVX_S37_GOTOFF_UP27,                      23)
     52     RELOC_NUMBER (R_KVX_S43_GOTOFF_LO10,                      24)
     53     RELOC_NUMBER (R_KVX_S43_GOTOFF_UP27,                      25)
     54     RELOC_NUMBER (R_KVX_S43_GOTOFF_EX6,                       26)
     55     RELOC_NUMBER (R_KVX_32_GOTOFF,                            27)
     56     RELOC_NUMBER (R_KVX_64_GOTOFF,                            28)
     57     RELOC_NUMBER (R_KVX_32_GOT,                               29)
     58     RELOC_NUMBER (R_KVX_S37_GOT_LO10,                         30)
     59     RELOC_NUMBER (R_KVX_S37_GOT_UP27,                         31)
     60     RELOC_NUMBER (R_KVX_S43_GOT_LO10,                         32)
     61     RELOC_NUMBER (R_KVX_S43_GOT_UP27,                         33)
     62     RELOC_NUMBER (R_KVX_S43_GOT_EX6,                          34)
     63     RELOC_NUMBER (R_KVX_64_GOT,                               35)
     64     RELOC_NUMBER (R_KVX_GLOB_DAT,                             36)
     65     RELOC_NUMBER (R_KVX_COPY,                                 37)
     66     RELOC_NUMBER (R_KVX_JMP_SLOT,                             38)
     67     RELOC_NUMBER (R_KVX_RELATIVE,                             39)
     68     RELOC_NUMBER (R_KVX_S43_LO10,                             40)
     69     RELOC_NUMBER (R_KVX_S43_UP27,                             41)
     70     RELOC_NUMBER (R_KVX_S43_EX6,                              42)
     71     RELOC_NUMBER (R_KVX_S64_LO10,                             43)
     72     RELOC_NUMBER (R_KVX_S64_UP27,                             44)
     73     RELOC_NUMBER (R_KVX_S64_EX27,                             45)
     74     RELOC_NUMBER (R_KVX_S37_GOTADDR_LO10,                     46)
     75     RELOC_NUMBER (R_KVX_S37_GOTADDR_UP27,                     47)
     76     RELOC_NUMBER (R_KVX_S43_GOTADDR_LO10,                     48)
     77     RELOC_NUMBER (R_KVX_S43_GOTADDR_UP27,                     49)
     78     RELOC_NUMBER (R_KVX_S43_GOTADDR_EX6,                      50)
     79     RELOC_NUMBER (R_KVX_S64_GOTADDR_LO10,                     51)
     80     RELOC_NUMBER (R_KVX_S64_GOTADDR_UP27,                     52)
     81     RELOC_NUMBER (R_KVX_S64_GOTADDR_EX27,                     53)
     82     RELOC_NUMBER (R_KVX_64_DTPMOD,                            54)
     83     RELOC_NUMBER (R_KVX_64_DTPOFF,                            55)
     84     RELOC_NUMBER (R_KVX_S37_TLS_DTPOFF_LO10,                  56)
     85     RELOC_NUMBER (R_KVX_S37_TLS_DTPOFF_UP27,                  57)
     86     RELOC_NUMBER (R_KVX_S43_TLS_DTPOFF_LO10,                  58)
     87     RELOC_NUMBER (R_KVX_S43_TLS_DTPOFF_UP27,                  59)
     88     RELOC_NUMBER (R_KVX_S43_TLS_DTPOFF_EX6,                   60)
     89     RELOC_NUMBER (R_KVX_S37_TLS_GD_LO10,                      61)
     90     RELOC_NUMBER (R_KVX_S37_TLS_GD_UP27,                      62)
     91     RELOC_NUMBER (R_KVX_S43_TLS_GD_LO10,                      63)
     92     RELOC_NUMBER (R_KVX_S43_TLS_GD_UP27,                      64)
     93     RELOC_NUMBER (R_KVX_S43_TLS_GD_EX6,                       65)
     94     RELOC_NUMBER (R_KVX_S37_TLS_LD_LO10,                      66)
     95     RELOC_NUMBER (R_KVX_S37_TLS_LD_UP27,                      67)
     96     RELOC_NUMBER (R_KVX_S43_TLS_LD_LO10,                      68)
     97     RELOC_NUMBER (R_KVX_S43_TLS_LD_UP27,                      69)
     98     RELOC_NUMBER (R_KVX_S43_TLS_LD_EX6,                       70)
     99     RELOC_NUMBER (R_KVX_64_TPOFF,                             71)
    100     RELOC_NUMBER (R_KVX_S37_TLS_IE_LO10,                      72)
    101     RELOC_NUMBER (R_KVX_S37_TLS_IE_UP27,                      73)
    102     RELOC_NUMBER (R_KVX_S43_TLS_IE_LO10,                      74)
    103     RELOC_NUMBER (R_KVX_S43_TLS_IE_UP27,                      75)
    104     RELOC_NUMBER (R_KVX_S43_TLS_IE_EX6,                       76)
    105     RELOC_NUMBER (R_KVX_S37_TLS_LE_LO10,                      77)
    106     RELOC_NUMBER (R_KVX_S37_TLS_LE_UP27,                      78)
    107     RELOC_NUMBER (R_KVX_S43_TLS_LE_LO10,                      79)
    108     RELOC_NUMBER (R_KVX_S43_TLS_LE_UP27,                      80)
    109     RELOC_NUMBER (R_KVX_S43_TLS_LE_EX6,                       81)
    110     RELOC_NUMBER (R_KVX_8,                                    82)
    111 END_RELOC_NUMBERS (R_KVX_end)
    112 
    113 #include "kvx_elfids.h"
    114 
    115 #endif
    116