Home | History | Annotate | Line # | Download | only in elf
arc-reloc.def revision 1.1.1.8
      1  1.1.1.2  christos /* ARC relocation types
      2  1.1.1.8  christos    Copyright (C) 2015-2026 Free Software Foundation, Inc.
      3  1.1.1.2  christos 
      4  1.1.1.2  christos    This file is part of BFD, the Binary File Descriptor library.
      5  1.1.1.2  christos 
      6  1.1.1.2  christos    This program is free software; you can redistribute it and/or modify
      7  1.1.1.2  christos    it under the terms of the GNU General Public License as published by
      8  1.1.1.2  christos    the Free Software Foundation; either version 3 of the License, or
      9  1.1.1.2  christos    (at your option) any later version.
     10  1.1.1.2  christos 
     11  1.1.1.2  christos    This program is distributed in the hope that it will be useful,
     12  1.1.1.2  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     13  1.1.1.2  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14  1.1.1.2  christos    GNU General Public License for more details.
     15  1.1.1.2  christos 
     16  1.1.1.2  christos    GAS/GDB is free software; you can redistribute it and/or modify
     17  1.1.1.2  christos    it under the terms of the GNU General Public License as published by
     18  1.1.1.2  christos    the Free Software Foundation; either version 3, or (at your option)
     19  1.1.1.2  christos    any later version.
     20  1.1.1.2  christos 
     21  1.1.1.2  christos    GAS/GDB is distributed in the hope that it will be useful,
     22  1.1.1.2  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     23  1.1.1.2  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
     24  1.1.1.2  christos    GNU General Public License for more details.
     25  1.1.1.2  christos 
     26  1.1.1.2  christos    You should have received a copy of the GNU General Public License
     27  1.1.1.2  christos    along with GAS or GDB; see the file COPYING3.  If not, write to
     28  1.1.1.2  christos    the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
     29  1.1.1.2  christos    MA 02110-1301, USA.  */
     30  1.1.1.2  christos 
     31  1.1.1.2  christos 
     32      1.1  christos ARC_RELOC_HOWTO(ARC_NONE, 0, \
     33  1.1.1.5  christos                 4, \
     34      1.1  christos                 32, \
     35      1.1  christos                 replace_none, \
     36      1.1  christos                 bitfield, \
     37      1.1  christos                 0)
     38      1.1  christos 
     39      1.1  christos ARC_RELOC_HOWTO(ARC_8, 1, \
     40  1.1.1.5  christos                 1, \
     41      1.1  christos                 8, \
     42      1.1  christos                 replace_bits8, \
     43      1.1  christos                 bitfield, \
     44      1.1  christos                 ( S + A ))
     45      1.1  christos 
     46      1.1  christos ARC_RELOC_HOWTO(ARC_16, 2, \
     47  1.1.1.5  christos                 2, \
     48      1.1  christos                 16, \
     49      1.1  christos                 replace_bits16, \
     50      1.1  christos                 bitfield, \
     51      1.1  christos                 ( S + A ))
     52      1.1  christos 
     53      1.1  christos ARC_RELOC_HOWTO(ARC_24, 3, \
     54  1.1.1.5  christos                 4, \
     55      1.1  christos                 24, \
     56      1.1  christos                 replace_bits24, \
     57      1.1  christos                 bitfield, \
     58      1.1  christos                 ( S + A ))
     59      1.1  christos 
     60      1.1  christos ARC_RELOC_HOWTO(ARC_32, 4, \
     61  1.1.1.5  christos                 4, \
     62      1.1  christos                 32, \
     63      1.1  christos                 replace_word32, \
     64      1.1  christos                 bitfield, \
     65      1.1  christos                 ( S + A ))
     66      1.1  christos 
     67      1.1  christos ARC_RELOC_HOWTO(ARC_N8, 8, \
     68  1.1.1.5  christos                 1, \
     69      1.1  christos                 8, \
     70      1.1  christos                 replace_bits8, \
     71      1.1  christos                 bitfield, \
     72  1.1.1.3  christos                 ( A - S ))
     73      1.1  christos 
     74      1.1  christos ARC_RELOC_HOWTO(ARC_N16, 9, \
     75  1.1.1.5  christos                 2, \
     76      1.1  christos                 16, \
     77      1.1  christos                 replace_bits16, \
     78      1.1  christos                 bitfield, \
     79  1.1.1.3  christos                 ( A - S ))
     80      1.1  christos 
     81      1.1  christos ARC_RELOC_HOWTO(ARC_N24, 10, \
     82  1.1.1.5  christos                 4, \
     83      1.1  christos                 24, \
     84      1.1  christos                 replace_bits24, \
     85      1.1  christos                 bitfield, \
     86  1.1.1.3  christos                 ( A - S ))
     87      1.1  christos 
     88      1.1  christos ARC_RELOC_HOWTO(ARC_N32, 11, \
     89  1.1.1.5  christos                 4, \
     90      1.1  christos                 32, \
     91      1.1  christos                 replace_word32, \
     92      1.1  christos                 bitfield, \
     93  1.1.1.3  christos                 ( A - S ))
     94      1.1  christos 
     95      1.1  christos ARC_RELOC_HOWTO(ARC_SDA, 12, \
     96  1.1.1.5  christos                 4, \
     97      1.1  christos                 9, \
     98      1.1  christos                 replace_disp9, \
     99      1.1  christos                 bitfield, \
    100  1.1.1.3  christos                 ( ME ( ( ( S + A ) - _SDA_BASE_ ) ) ))
    101      1.1  christos 
    102      1.1  christos ARC_RELOC_HOWTO(ARC_SECTOFF, 13, \
    103  1.1.1.5  christos                 4, \
    104      1.1  christos                 32, \
    105      1.1  christos                 replace_word32, \
    106      1.1  christos                 bitfield, \
    107      1.1  christos                 ( ( S - SECTSTART ) + A ))
    108      1.1  christos 
    109      1.1  christos ARC_RELOC_HOWTO(ARC_S21H_PCREL, 14, \
    110  1.1.1.5  christos                 4, \
    111      1.1  christos                 20, \
    112      1.1  christos                 replace_disp21h, \
    113      1.1  christos                 signed, \
    114  1.1.1.2  christos                 ( ME ( ( ( ( S + A ) - P ) >> 1 ) ) ))
    115      1.1  christos 
    116      1.1  christos ARC_RELOC_HOWTO(ARC_S21W_PCREL, 15, \
    117  1.1.1.5  christos                 4, \
    118      1.1  christos                 19, \
    119      1.1  christos                 replace_disp21w, \
    120      1.1  christos                 signed, \
    121  1.1.1.2  christos                 ( ME ( ( ( ( S + A ) - P ) >> 2 ) ) ))
    122      1.1  christos 
    123      1.1  christos ARC_RELOC_HOWTO(ARC_S25H_PCREL, 16, \
    124  1.1.1.5  christos                 4, \
    125      1.1  christos                 24, \
    126      1.1  christos                 replace_disp25h, \
    127      1.1  christos                 signed, \
    128  1.1.1.2  christos                 ( ME ( ( ( ( S + A ) - P ) >> 1 ) ) ))
    129      1.1  christos 
    130      1.1  christos ARC_RELOC_HOWTO(ARC_S25W_PCREL, 17, \
    131  1.1.1.5  christos                 4, \
    132      1.1  christos                 23, \
    133      1.1  christos                 replace_disp25w, \
    134      1.1  christos                 signed, \
    135  1.1.1.2  christos                 ( ME ( ( ( ( S + A ) - P ) >> 2 ) ) ))
    136      1.1  christos 
    137      1.1  christos ARC_RELOC_HOWTO(ARC_SDA32, 18, \
    138  1.1.1.5  christos                 4, \
    139      1.1  christos                 32, \
    140      1.1  christos                 replace_word32, \
    141      1.1  christos                 signed, \
    142  1.1.1.3  christos                 ( ( ( S + A ) - _SDA_BASE_ ) ))
    143      1.1  christos 
    144      1.1  christos ARC_RELOC_HOWTO(ARC_SDA_LDST, 19, \
    145  1.1.1.5  christos                 4, \
    146      1.1  christos                 9, \
    147      1.1  christos                 replace_disp9ls, \
    148      1.1  christos                 signed, \
    149  1.1.1.2  christos                 ( ME ( ( ( S + A ) - _SDA_BASE_ ) ) ))
    150      1.1  christos 
    151      1.1  christos ARC_RELOC_HOWTO(ARC_SDA_LDST1, 20, \
    152  1.1.1.5  christos                 4, \
    153      1.1  christos                 9, \
    154      1.1  christos                 replace_disp9ls, \
    155      1.1  christos                 signed, \
    156  1.1.1.2  christos                 ( ME ( ( ( ( S + A ) - _SDA_BASE_ ) >> 1 ) ) ))
    157      1.1  christos 
    158      1.1  christos ARC_RELOC_HOWTO(ARC_SDA_LDST2, 21, \
    159  1.1.1.5  christos                 4, \
    160      1.1  christos                 9, \
    161      1.1  christos                 replace_disp9ls, \
    162      1.1  christos                 signed, \
    163  1.1.1.2  christos                 ( ME ( ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ) ) ))
    164      1.1  christos 
    165      1.1  christos ARC_RELOC_HOWTO(ARC_SDA16_LD, 22, \
    166  1.1.1.5  christos                 2, \
    167      1.1  christos                 9, \
    168      1.1  christos                 replace_disp9s, \
    169      1.1  christos                 signed, \
    170  1.1.1.3  christos                 ( ( S + A ) - _SDA_BASE_ ))
    171      1.1  christos 
    172      1.1  christos ARC_RELOC_HOWTO(ARC_SDA16_LD1, 23, \
    173  1.1.1.5  christos                 2, \
    174      1.1  christos                 9, \
    175      1.1  christos                 replace_disp9s, \
    176      1.1  christos                 signed, \
    177  1.1.1.3  christos                 ( ( ( S + A ) - _SDA_BASE_ ) >> 1 ))
    178      1.1  christos 
    179      1.1  christos ARC_RELOC_HOWTO(ARC_SDA16_LD2, 24, \
    180  1.1.1.5  christos                 2, \
    181      1.1  christos                 9, \
    182      1.1  christos                 replace_disp9s, \
    183      1.1  christos                 signed, \
    184  1.1.1.3  christos                 ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ))
    185      1.1  christos 
    186      1.1  christos ARC_RELOC_HOWTO(ARC_S13_PCREL, 25, \
    187  1.1.1.5  christos                 2, \
    188      1.1  christos                 11, \
    189      1.1  christos                 replace_disp13s, \
    190      1.1  christos                 signed, \
    191  1.1.1.3  christos                 ( ( ( S + A ) - P ) >> 2 ))
    192      1.1  christos 
    193      1.1  christos ARC_RELOC_HOWTO(ARC_W, 26, \
    194  1.1.1.5  christos                 4, \
    195      1.1  christos                 32, \
    196      1.1  christos                 replace_word32, \
    197      1.1  christos                 bitfield, \
    198      1.1  christos                 ( ( S + A ) & ( ~3 ) ))
    199      1.1  christos 
    200      1.1  christos ARC_RELOC_HOWTO(ARC_32_ME, 27, \
    201  1.1.1.5  christos                 4, \
    202      1.1  christos                 32, \
    203      1.1  christos                 replace_limm, \
    204      1.1  christos                 signed, \
    205  1.1.1.2  christos                 ( ME ( ( S + A ) ) ))
    206      1.1  christos 
    207      1.1  christos ARC_RELOC_HOWTO(ARC_32_ME_S, 105, \
    208  1.1.1.5  christos                 4, \
    209      1.1  christos                 32, \
    210      1.1  christos                 replace_limms, \
    211      1.1  christos                 signed, \
    212  1.1.1.2  christos                 ( ME ( ( S + A ) ) ))
    213      1.1  christos 
    214      1.1  christos ARC_RELOC_HOWTO(ARC_N32_ME, 28, \
    215  1.1.1.5  christos                 4, \
    216      1.1  christos                 32, \
    217      1.1  christos                 replace_word32, \
    218      1.1  christos                 bitfield, \
    219  1.1.1.3  christos                 ( ME ( ( A - S ) ) ))
    220      1.1  christos 
    221      1.1  christos ARC_RELOC_HOWTO(ARC_SECTOFF_ME, 29, \
    222  1.1.1.5  christos                 4, \
    223      1.1  christos                 32, \
    224      1.1  christos                 replace_word32, \
    225      1.1  christos                 bitfield, \
    226  1.1.1.2  christos                 ( ME ( ( ( S - SECTSTART ) + A ) ) ))
    227      1.1  christos 
    228      1.1  christos ARC_RELOC_HOWTO(ARC_SDA32_ME, 30, \
    229  1.1.1.5  christos                 4, \
    230      1.1  christos                 32, \
    231      1.1  christos                 replace_limm, \
    232      1.1  christos                 signed, \
    233  1.1.1.2  christos                 ( ME ( ( ( S + A ) - _SDA_BASE_ ) ) ))
    234      1.1  christos 
    235      1.1  christos ARC_RELOC_HOWTO(ARC_W_ME, 31, \
    236  1.1.1.5  christos                 4, \
    237      1.1  christos                 32, \
    238      1.1  christos                 replace_word32, \
    239      1.1  christos                 bitfield, \
    240  1.1.1.2  christos                 ( ME ( ( ( S + A ) & ( ~3 ) ) ) ))
    241      1.1  christos 
    242      1.1  christos ARC_RELOC_HOWTO(AC_SECTOFF_U8, 35, \
    243  1.1.1.5  christos                 4, \
    244      1.1  christos                 9, \
    245      1.1  christos                 replace_disp9ls, \
    246      1.1  christos                 bitfield, \
    247  1.1.1.3  christos                 ( ME ( ( ( S + A ) - SECTSTART ) ) ))
    248      1.1  christos 
    249      1.1  christos ARC_RELOC_HOWTO(AC_SECTOFF_U8_1, 36, \
    250  1.1.1.5  christos                 4, \
    251      1.1  christos                 9, \
    252      1.1  christos                 replace_disp9ls, \
    253      1.1  christos                 bitfield, \
    254  1.1.1.3  christos                 ( ME ( ( ( ( S + A ) - SECTSTART ) >> 1 ) ) ))
    255      1.1  christos 
    256      1.1  christos ARC_RELOC_HOWTO(AC_SECTOFF_U8_2, 37, \
    257  1.1.1.5  christos                 4, \
    258      1.1  christos                 9, \
    259      1.1  christos                 replace_disp9ls, \
    260      1.1  christos                 bitfield, \
    261  1.1.1.3  christos                 ( ME ( ( ( ( S + A ) - SECTSTART ) >> 2 ) ) ))
    262      1.1  christos 
    263  1.1.1.3  christos ARC_RELOC_HOWTO(AC_SECTOFF_S9, 38, \
    264  1.1.1.5  christos                 4, \
    265      1.1  christos                 9, \
    266      1.1  christos                 replace_disp9ls, \
    267      1.1  christos                 bitfield, \
    268  1.1.1.3  christos                 ( ME ( ( ( ( S + A ) - SECTSTART ) - 256 ) ) ))
    269      1.1  christos 
    270  1.1.1.3  christos ARC_RELOC_HOWTO(AC_SECTOFF_S9_1, 39, \
    271  1.1.1.5  christos                 4, \
    272      1.1  christos                 9, \
    273      1.1  christos                 replace_disp9ls, \
    274      1.1  christos                 bitfield, \
    275  1.1.1.3  christos                 ( ME ( ( ( ( ( S + A ) - SECTSTART ) - 256 ) >> 1 ) ) ))
    276      1.1  christos 
    277  1.1.1.3  christos ARC_RELOC_HOWTO(AC_SECTOFF_S9_2, 40, \
    278  1.1.1.5  christos                 4, \
    279      1.1  christos                 9, \
    280      1.1  christos                 replace_disp9ls, \
    281      1.1  christos                 bitfield, \
    282  1.1.1.3  christos                 ( ME ( ( ( ( ( S + A ) - SECTSTART ) - 256 ) >> 2 ) ) ))
    283      1.1  christos 
    284      1.1  christos ARC_RELOC_HOWTO(ARC_SECTOFF_ME_1, 41, \
    285  1.1.1.5  christos                 4, \
    286      1.1  christos                 32, \
    287      1.1  christos                 replace_word32, \
    288      1.1  christos                 bitfield, \
    289  1.1.1.2  christos                 ( ME ( ( ( ( S - SECTSTART ) + A ) >> 1 ) ) ))
    290      1.1  christos 
    291      1.1  christos ARC_RELOC_HOWTO(ARC_SECTOFF_ME_2, 42, \
    292  1.1.1.5  christos                 4, \
    293      1.1  christos                 32, \
    294      1.1  christos                 replace_word32, \
    295      1.1  christos                 bitfield, \
    296  1.1.1.2  christos                 ( ME ( ( ( ( S - SECTSTART ) + A ) >> 2 ) ) ))
    297      1.1  christos 
    298      1.1  christos ARC_RELOC_HOWTO(ARC_SECTOFF_1, 43, \
    299  1.1.1.5  christos                 4, \
    300      1.1  christos                 32, \
    301      1.1  christos                 replace_word32, \
    302      1.1  christos                 bitfield, \
    303      1.1  christos                 ( ( ( S - SECTSTART ) + A ) >> 1 ))
    304      1.1  christos 
    305      1.1  christos ARC_RELOC_HOWTO(ARC_SECTOFF_2, 44, \
    306  1.1.1.5  christos                 4, \
    307      1.1  christos                 32, \
    308      1.1  christos                 replace_word32, \
    309      1.1  christos                 bitfield, \
    310      1.1  christos                 ( ( ( S - SECTSTART ) + A ) >> 2 ))
    311      1.1  christos 
    312  1.1.1.3  christos ARC_RELOC_HOWTO(ARC_SDA_12, 45, \
    313  1.1.1.5  christos                 4, \
    314  1.1.1.3  christos                 12, \
    315  1.1.1.3  christos                 replace_disp12s, \
    316  1.1.1.3  christos                 signed, \
    317  1.1.1.3  christos                 ( ME ( ( ( S + A ) - _SDA_BASE_ ) ) ))
    318  1.1.1.3  christos 
    319      1.1  christos ARC_RELOC_HOWTO(ARC_SDA16_ST2, 48, \
    320  1.1.1.5  christos                 2, \
    321      1.1  christos                 9, \
    322      1.1  christos                 replace_disp9s1, \
    323      1.1  christos                 signed, \
    324      1.1  christos                 ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ))
    325      1.1  christos 
    326      1.1  christos ARC_RELOC_HOWTO(ARC_32_PCREL, 49, \
    327  1.1.1.5  christos                 4, \
    328      1.1  christos                 32, \
    329      1.1  christos                 replace_word32, \
    330      1.1  christos                 signed, \
    331      1.1  christos                 ( ( S + A ) - PDATA ))
    332      1.1  christos 
    333      1.1  christos ARC_RELOC_HOWTO(ARC_PC32, 50, \
    334  1.1.1.5  christos                 4, \
    335      1.1  christos                 32, \
    336      1.1  christos                 replace_word32, \
    337      1.1  christos                 signed, \
    338  1.1.1.2  christos                 ( ME ( ( ( S + A ) - P ) ) ))
    339      1.1  christos 
    340      1.1  christos ARC_RELOC_HOWTO(ARC_GOT32, 59, \
    341  1.1.1.5  christos                 4, \
    342      1.1  christos                 32, \
    343      1.1  christos                 replace_word32, \
    344      1.1  christos                 dont, \
    345      1.1  christos                 ( G + A ))
    346      1.1  christos 
    347      1.1  christos ARC_RELOC_HOWTO(ARC_GOTPC32, 51, \
    348  1.1.1.5  christos                 4, \
    349      1.1  christos                 32, \
    350      1.1  christos                 replace_word32, \
    351      1.1  christos                 signed, \
    352  1.1.1.2  christos                 ( ME ( ( ( ( GOT + G ) + A ) - P ) ) ))
    353      1.1  christos 
    354      1.1  christos ARC_RELOC_HOWTO(ARC_PLT32, 52, \
    355  1.1.1.5  christos                 4, \
    356      1.1  christos                 32, \
    357      1.1  christos                 replace_word32, \
    358      1.1  christos                 signed, \
    359  1.1.1.2  christos                 ( ME ( ( ( L + A ) - P ) ) ))
    360      1.1  christos 
    361      1.1  christos ARC_RELOC_HOWTO(ARC_COPY, 53, \
    362  1.1.1.5  christos                 4, \
    363      1.1  christos                 0, \
    364      1.1  christos                 replace_none, \
    365      1.1  christos                 signed, \
    366      1.1  christos                 none)
    367      1.1  christos 
    368      1.1  christos ARC_RELOC_HOWTO(ARC_GLOB_DAT, 54, \
    369  1.1.1.5  christos                 4, \
    370      1.1  christos                 32, \
    371      1.1  christos                 replace_word32, \
    372      1.1  christos                 signed, \
    373      1.1  christos                 S)
    374      1.1  christos 
    375      1.1  christos ARC_RELOC_HOWTO(ARC_JMP_SLOT, 55, \
    376  1.1.1.5  christos                 4, \
    377      1.1  christos                 32, \
    378      1.1  christos                 replace_word32, \
    379      1.1  christos                 signed, \
    380  1.1.1.2  christos                 ( ME ( S ) ))
    381      1.1  christos 
    382      1.1  christos ARC_RELOC_HOWTO(ARC_RELATIVE, 56, \
    383  1.1.1.5  christos                 4, \
    384      1.1  christos                 32, \
    385      1.1  christos                 replace_word32, \
    386      1.1  christos                 signed, \
    387  1.1.1.2  christos                 ( ME ( ( B + A ) ) ))
    388      1.1  christos 
    389      1.1  christos ARC_RELOC_HOWTO(ARC_GOTOFF, 57, \
    390  1.1.1.5  christos                 4, \
    391      1.1  christos                 32, \
    392      1.1  christos                 replace_word32, \
    393      1.1  christos                 signed, \
    394  1.1.1.2  christos                 ( ME ( ( ( S + A ) - GOT ) ) ))
    395      1.1  christos 
    396      1.1  christos ARC_RELOC_HOWTO(ARC_GOTPC, 58, \
    397  1.1.1.5  christos                 4, \
    398      1.1  christos                 32, \
    399      1.1  christos                 replace_word32, \
    400      1.1  christos                 signed, \
    401  1.1.1.2  christos                 ( ME ( ( GOT_BEGIN - P ) ) ))
    402      1.1  christos 
    403      1.1  christos ARC_RELOC_HOWTO(ARC_S21W_PCREL_PLT, 60, \
    404  1.1.1.5  christos                 4, \
    405      1.1  christos                 19, \
    406      1.1  christos                 replace_disp21w, \
    407      1.1  christos                 signed, \
    408  1.1.1.2  christos                 ( ME ( ( ( ( L + A ) - P ) >> 2 ) ) ))
    409      1.1  christos 
    410      1.1  christos ARC_RELOC_HOWTO(ARC_S25H_PCREL_PLT, 61, \
    411  1.1.1.5  christos                 4, \
    412      1.1  christos                 24, \
    413      1.1  christos                 replace_disp25h, \
    414      1.1  christos                 signed, \
    415  1.1.1.2  christos                 ( ME ( ( ( ( L + A ) - P ) >> 1 ) ) ))
    416      1.1  christos 
    417  1.1.1.3  christos ARC_RELOC_HOWTO(ARC_JLI_SECTOFF, 63, \
    418  1.1.1.5  christos                 2, \
    419  1.1.1.3  christos                 10, \
    420  1.1.1.3  christos                 replace_jli, \
    421  1.1.1.3  christos                 bitfield, \
    422  1.1.1.3  christos                 ( ( S - JLI ) >> 2))
    423  1.1.1.3  christos 
    424      1.1  christos ARC_RELOC_HOWTO(ARC_TLS_DTPMOD, 66, \
    425  1.1.1.5  christos                 4, \
    426      1.1  christos                 32, \
    427      1.1  christos                 replace_word32, \
    428      1.1  christos                 dont, \
    429      1.1  christos                 0)
    430      1.1  christos 
    431      1.1  christos ARC_RELOC_HOWTO(ARC_TLS_TPOFF, 68, \
    432  1.1.1.5  christos                 4, \
    433      1.1  christos                 32, \
    434      1.1  christos                 replace_word32, \
    435      1.1  christos                 dont, \
    436      1.1  christos                 0)
    437      1.1  christos 
    438      1.1  christos ARC_RELOC_HOWTO(ARC_TLS_GD_GOT, 69, \
    439  1.1.1.5  christos                 4, \
    440      1.1  christos                 32, \
    441      1.1  christos                 replace_word32, \
    442      1.1  christos                 dont, \
    443  1.1.1.2  christos                 ( ME ( ( ( G + GOT ) - P ) ) ))
    444      1.1  christos 
    445      1.1  christos ARC_RELOC_HOWTO(ARC_TLS_GD_LD, 70, \
    446  1.1.1.5  christos                 4, \
    447  1.1.1.2  christos                 0, \
    448  1.1.1.2  christos                 replace_none, \
    449      1.1  christos                 dont, \
    450      1.1  christos                 0)
    451      1.1  christos 
    452      1.1  christos ARC_RELOC_HOWTO(ARC_TLS_GD_CALL, 71, \
    453  1.1.1.5  christos                 4, \
    454      1.1  christos                 32, \
    455      1.1  christos                 replace_word32, \
    456      1.1  christos                 dont, \
    457      1.1  christos                 0)
    458      1.1  christos 
    459      1.1  christos ARC_RELOC_HOWTO(ARC_TLS_IE_GOT, 72, \
    460  1.1.1.5  christos                 4, \
    461      1.1  christos                 32, \
    462      1.1  christos                 replace_word32, \
    463      1.1  christos                 dont, \
    464  1.1.1.2  christos                 ( ME ( ( ( G + GOT ) - P ) ) ))
    465      1.1  christos 
    466      1.1  christos ARC_RELOC_HOWTO(ARC_TLS_DTPOFF, 67, \
    467  1.1.1.5  christos                 4, \
    468      1.1  christos                 32, \
    469      1.1  christos                 replace_word32, \
    470      1.1  christos                 dont, \
    471  1.1.1.4  christos 		( ME ( S - FINAL_SECTSTART ) + A ))
    472      1.1  christos 
    473      1.1  christos ARC_RELOC_HOWTO(ARC_TLS_DTPOFF_S9, 73, \
    474  1.1.1.5  christos                 4, \
    475      1.1  christos                 32, \
    476      1.1  christos                 replace_word32, \
    477      1.1  christos                 dont, \
    478  1.1.1.2  christos                 ( ME ( ( S - TLS_REL ) ) ))
    479      1.1  christos 
    480      1.1  christos ARC_RELOC_HOWTO(ARC_TLS_LE_S9, 74, \
    481  1.1.1.5  christos                 4, \
    482      1.1  christos                 32, \
    483      1.1  christos                 replace_word32, \
    484      1.1  christos                 dont, \
    485  1.1.1.2  christos                 ( ME ( ( ( S + TCB_SIZE ) - TLS_REL ) ) ))
    486      1.1  christos 
    487      1.1  christos ARC_RELOC_HOWTO(ARC_TLS_LE_32, 75, \
    488  1.1.1.5  christos                 4, \
    489      1.1  christos                 32, \
    490      1.1  christos                 replace_word32, \
    491      1.1  christos                 dont, \
    492  1.1.1.4  christos 		( ME ( ( ( ( S + A ) + TLS_TBSS ) - TLS_REL ) ) ))
    493      1.1  christos 
    494      1.1  christos ARC_RELOC_HOWTO(ARC_S25W_PCREL_PLT, 76, \
    495  1.1.1.5  christos                 4, \
    496      1.1  christos                 23, \
    497      1.1  christos                 replace_disp25w, \
    498      1.1  christos                 signed, \
    499  1.1.1.2  christos                 ( ME ( ( ( ( L + A ) - P ) >> 2 ) ) ))
    500      1.1  christos 
    501      1.1  christos ARC_RELOC_HOWTO(ARC_S21H_PCREL_PLT, 77, \
    502  1.1.1.5  christos                 4, \
    503      1.1  christos                 20, \
    504      1.1  christos                 replace_disp21h, \
    505      1.1  christos                 signed, \
    506  1.1.1.2  christos                 ( ME ( ( ( ( L + A ) - P ) >> 1 ) ) ))
    507      1.1  christos 
    508  1.1.1.2  christos ARC_RELOC_HOWTO(ARC_NPS_CMEM16, 78, \
    509  1.1.1.5  christos                 4, \
    510  1.1.1.2  christos                 16, \
    511  1.1.1.2  christos                 replace_bits16, \
    512  1.1.1.2  christos                 dont, \
    513  1.1.1.2  christos                 ( ME ( S + A )))
    514