Home | History | Annotate | Line # | Download | only in elf
arc-reloc.def revision 1.1.1.1
      1 ARC_RELOC_HOWTO(ARC_NONE, 0, \
      2                 2, \
      3                 32, \
      4                 replace_none, \
      5                 bitfield, \
      6                 0)
      7 
      8 ARC_RELOC_HOWTO(ARC_8, 1, \
      9                 0, \
     10                 8, \
     11                 replace_bits8, \
     12                 bitfield, \
     13                 ( S + A ))
     14 
     15 ARC_RELOC_HOWTO(ARC_16, 2, \
     16                 1, \
     17                 16, \
     18                 replace_bits16, \
     19                 bitfield, \
     20                 ( S + A ))
     21 
     22 ARC_RELOC_HOWTO(ARC_24, 3, \
     23                 2, \
     24                 24, \
     25                 replace_bits24, \
     26                 bitfield, \
     27                 ( S + A ))
     28 
     29 ARC_RELOC_HOWTO(ARC_32, 4, \
     30                 2, \
     31                 32, \
     32                 replace_word32, \
     33                 bitfield, \
     34                 ( S + A ))
     35 
     36 ARC_RELOC_HOWTO(ARC_N8, 8, \
     37                 0, \
     38                 8, \
     39                 replace_bits8, \
     40                 bitfield, \
     41                 ( S - A ))
     42 
     43 ARC_RELOC_HOWTO(ARC_N16, 9, \
     44                 1, \
     45                 16, \
     46                 replace_bits16, \
     47                 bitfield, \
     48                 ( S - A ))
     49 
     50 ARC_RELOC_HOWTO(ARC_N24, 10, \
     51                 2, \
     52                 24, \
     53                 replace_bits24, \
     54                 bitfield, \
     55                 ( S - A ))
     56 
     57 ARC_RELOC_HOWTO(ARC_N32, 11, \
     58                 2, \
     59                 32, \
     60                 replace_word32, \
     61                 bitfield, \
     62                 ( S - A ))
     63 
     64 ARC_RELOC_HOWTO(ARC_SDA, 12, \
     65                 2, \
     66                 9, \
     67                 replace_disp9, \
     68                 bitfield, \
     69                 ( S + A ))
     70 
     71 ARC_RELOC_HOWTO(ARC_SECTOFF, 13, \
     72                 2, \
     73                 32, \
     74                 replace_word32, \
     75                 bitfield, \
     76                 ( ( S - SECTSTART ) + A ))
     77 
     78 ARC_RELOC_HOWTO(ARC_S21H_PCREL, 14, \
     79                 2, \
     80                 20, \
     81                 replace_disp21h, \
     82                 signed, \
     83                 ( ( ( S + A ) - P ) >> 1 ))
     84 
     85 ARC_RELOC_HOWTO(ARC_S21W_PCREL, 15, \
     86                 2, \
     87                 19, \
     88                 replace_disp21w, \
     89                 signed, \
     90                 ( ( ( S + A ) - P ) >> 2 ))
     91 
     92 ARC_RELOC_HOWTO(ARC_S25H_PCREL, 16, \
     93                 2, \
     94                 24, \
     95                 replace_disp25h, \
     96                 signed, \
     97                 ( ( ( S + A ) - P ) >> 1 ))
     98 
     99 ARC_RELOC_HOWTO(ARC_S25W_PCREL, 17, \
    100                 2, \
    101                 23, \
    102                 replace_disp25w, \
    103                 signed, \
    104                 ( ( ( S + A ) - P ) >> 2 ))
    105 
    106 ARC_RELOC_HOWTO(ARC_SDA32, 18, \
    107                 2, \
    108                 32, \
    109                 replace_word32, \
    110                 signed, \
    111                 ( ( S + A ) - _SDA_BASE_ ))
    112 
    113 ARC_RELOC_HOWTO(ARC_SDA_LDST, 19, \
    114                 2, \
    115                 9, \
    116                 replace_disp9ls, \
    117                 signed, \
    118                 ( ( S + A ) - _SDA_BASE_ ))
    119 
    120 ARC_RELOC_HOWTO(ARC_SDA_LDST1, 20, \
    121                 2, \
    122                 9, \
    123                 replace_disp9ls, \
    124                 signed, \
    125                 ( ( ( S + A ) - _SDA_BASE_ ) >> 1 ))
    126 
    127 ARC_RELOC_HOWTO(ARC_SDA_LDST2, 21, \
    128                 2, \
    129                 9, \
    130                 replace_disp9ls, \
    131                 signed, \
    132                 ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ))
    133 
    134 ARC_RELOC_HOWTO(ARC_SDA16_LD, 22, \
    135                 1, \
    136                 9, \
    137                 replace_disp9s, \
    138                 signed, \
    139                 ( ( S + A ) - _SDA_BASE_ ))
    140 
    141 ARC_RELOC_HOWTO(ARC_SDA16_LD1, 23, \
    142                 1, \
    143                 9, \
    144                 replace_disp9s, \
    145                 signed, \
    146                 ( ( ( S + A ) - _SDA_BASE_ ) >> 1 ))
    147 
    148 ARC_RELOC_HOWTO(ARC_SDA16_LD2, 24, \
    149                 1, \
    150                 9, \
    151                 replace_disp9s, \
    152                 signed, \
    153                 ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ))
    154 
    155 ARC_RELOC_HOWTO(ARC_S13_PCREL, 25, \
    156                 1, \
    157                 11, \
    158                 replace_disp13s, \
    159                 signed, \
    160                 ( ( ( S + A ) - P ) >> 2 ))
    161 
    162 ARC_RELOC_HOWTO(ARC_W, 26, \
    163                 2, \
    164                 32, \
    165                 replace_word32, \
    166                 bitfield, \
    167                 ( ( S + A ) & ( ~3 ) ))
    168 
    169 ARC_RELOC_HOWTO(ARC_32_ME, 27, \
    170                 2, \
    171                 32, \
    172                 replace_limm, \
    173                 signed, \
    174                 ( S + A ))
    175 
    176 ARC_RELOC_HOWTO(ARC_32_ME_S, 105, \
    177                 2, \
    178                 32, \
    179                 replace_limms, \
    180                 signed, \
    181                 ( S + A ))
    182 
    183 ARC_RELOC_HOWTO(ARC_N32_ME, 28, \
    184                 2, \
    185                 32, \
    186                 replace_word32, \
    187                 bitfield, \
    188                 ( S - A ))
    189 
    190 ARC_RELOC_HOWTO(ARC_SECTOFF_ME, 29, \
    191                 2, \
    192                 32, \
    193                 replace_word32, \
    194                 bitfield, \
    195                 ( ( S - SECTSTART ) + A ))
    196 
    197 ARC_RELOC_HOWTO(ARC_SDA32_ME, 30, \
    198                 2, \
    199                 32, \
    200                 replace_limm, \
    201                 signed, \
    202                 ( ( S + A ) - _SDA_BASE_ ))
    203 
    204 ARC_RELOC_HOWTO(ARC_W_ME, 31, \
    205                 2, \
    206                 32, \
    207                 replace_word32, \
    208                 bitfield, \
    209                 ( S + A ))
    210 
    211 ARC_RELOC_HOWTO(AC_SECTOFF_U8, 35, \
    212                 2, \
    213                 9, \
    214                 replace_disp9ls, \
    215                 bitfield, \
    216                 ( ( S + A ) - SECTSTART ))
    217 
    218 ARC_RELOC_HOWTO(AC_SECTOFF_U8_1, 36, \
    219                 2, \
    220                 9, \
    221                 replace_disp9ls, \
    222                 bitfield, \
    223                 ( ( ( S + A ) - SECTSTART ) >> 1 ))
    224 
    225 ARC_RELOC_HOWTO(AC_SECTOFF_U8_2, 37, \
    226                 2, \
    227                 9, \
    228                 replace_disp9ls, \
    229                 bitfield, \
    230                 ( ( ( S + A ) - SECTSTART ) >> 2 ))
    231 
    232 ARC_RELOC_HOWTO(AC_SECTFOFF_S9, 38, \
    233                 2, \
    234                 9, \
    235                 replace_disp9ls, \
    236                 bitfield, \
    237                 ( ( S + A ) - SECTSTART ))
    238 
    239 ARC_RELOC_HOWTO(AC_SECTFOFF_S9_1, 39, \
    240                 2, \
    241                 9, \
    242                 replace_disp9ls, \
    243                 bitfield, \
    244                 ( ( ( S + A ) - SECTSTART ) >> 1 ))
    245 
    246 ARC_RELOC_HOWTO(AC_SECTFOFF_S9_2, 40, \
    247                 2, \
    248                 9, \
    249                 replace_disp9ls, \
    250                 bitfield, \
    251                 ( ( ( S + A ) - SECTSTART ) >> 2 ))
    252 
    253 ARC_RELOC_HOWTO(ARC_SECTOFF_ME_1, 41, \
    254                 2, \
    255                 32, \
    256                 replace_word32, \
    257                 bitfield, \
    258                 ( ( ( S - SECTSTART ) + A ) >> 1 ))
    259 
    260 ARC_RELOC_HOWTO(ARC_SECTOFF_ME_2, 42, \
    261                 2, \
    262                 32, \
    263                 replace_word32, \
    264                 bitfield, \
    265                 ( ( ( S - SECTSTART ) + A ) >> 2 ))
    266 
    267 ARC_RELOC_HOWTO(ARC_SECTOFF_1, 43, \
    268                 2, \
    269                 32, \
    270                 replace_word32, \
    271                 bitfield, \
    272                 ( ( ( S - SECTSTART ) + A ) >> 1 ))
    273 
    274 ARC_RELOC_HOWTO(ARC_SECTOFF_2, 44, \
    275                 2, \
    276                 32, \
    277                 replace_word32, \
    278                 bitfield, \
    279                 ( ( ( S - SECTSTART ) + A ) >> 2 ))
    280 
    281 ARC_RELOC_HOWTO(ARC_SDA16_ST2, 48, \
    282                 1, \
    283                 9, \
    284                 replace_disp9s1, \
    285                 signed, \
    286                 ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ))
    287 
    288 ARC_RELOC_HOWTO(ARC_32_PCREL, 49, \
    289                 2, \
    290                 32, \
    291                 replace_word32, \
    292                 signed, \
    293                 ( ( S + A ) - PDATA ))
    294 
    295 ARC_RELOC_HOWTO(ARC_PC32, 50, \
    296                 2, \
    297                 32, \
    298                 replace_word32, \
    299                 signed, \
    300                 ( ( S + A ) - P ))
    301 
    302 ARC_RELOC_HOWTO(ARC_GOT32, 59, \
    303                 2, \
    304                 32, \
    305                 replace_word32, \
    306                 dont, \
    307                 ( G + A ))
    308 
    309 ARC_RELOC_HOWTO(ARC_GOTPC32, 51, \
    310                 2, \
    311                 32, \
    312                 replace_word32, \
    313                 signed, \
    314                 ( ( ( GOT + G ) + A ) - P ))
    315 
    316 ARC_RELOC_HOWTO(ARC_PLT32, 52, \
    317                 2, \
    318                 32, \
    319                 replace_word32, \
    320                 signed, \
    321                 ( ( L + A ) - P ))
    322 
    323 ARC_RELOC_HOWTO(ARC_COPY, 53, \
    324                 2, \
    325                 0, \
    326                 replace_none, \
    327                 signed, \
    328                 none)
    329 
    330 ARC_RELOC_HOWTO(ARC_GLOB_DAT, 54, \
    331                 2, \
    332                 32, \
    333                 replace_word32, \
    334                 signed, \
    335                 S)
    336 
    337 ARC_RELOC_HOWTO(ARC_JMP_SLOT, 55, \
    338                 2, \
    339                 32, \
    340                 replace_word32, \
    341                 signed, \
    342                 S)
    343 
    344 ARC_RELOC_HOWTO(ARC_RELATIVE, 56, \
    345                 2, \
    346                 32, \
    347                 replace_word32, \
    348                 signed, \
    349                 ( B + A ))
    350 
    351 ARC_RELOC_HOWTO(ARC_GOTOFF, 57, \
    352                 2, \
    353                 32, \
    354                 replace_word32, \
    355                 signed, \
    356                 ( ( S + A ) - GOT ))
    357 
    358 ARC_RELOC_HOWTO(ARC_GOTPC, 58, \
    359                 2, \
    360                 32, \
    361                 replace_word32, \
    362                 signed, \
    363                 ( ( GOT + A ) - P ))
    364 
    365 ARC_RELOC_HOWTO(ARC_S21W_PCREL_PLT, 60, \
    366                 2, \
    367                 19, \
    368                 replace_disp21w, \
    369                 signed, \
    370                 ( ( ( L + A ) - P ) >> 2 ))
    371 
    372 ARC_RELOC_HOWTO(ARC_S25H_PCREL_PLT, 61, \
    373                 2, \
    374                 24, \
    375                 replace_disp25h, \
    376                 signed, \
    377                 ( ( ( L + A ) - P ) >> 1 ))
    378 
    379 ARC_RELOC_HOWTO(ARC_TLS_DTPMOD, 66, \
    380                 2, \
    381                 32, \
    382                 replace_word32, \
    383                 dont, \
    384                 0)
    385 
    386 ARC_RELOC_HOWTO(ARC_TLS_TPOFF, 68, \
    387                 2, \
    388                 32, \
    389                 replace_word32, \
    390                 dont, \
    391                 0)
    392 
    393 ARC_RELOC_HOWTO(ARC_TLS_GD_GOT, 69, \
    394                 2, \
    395                 32, \
    396                 replace_word32, \
    397                 dont, \
    398                 0)
    399 
    400 ARC_RELOC_HOWTO(ARC_TLS_GD_LD, 70, \
    401                 2, \
    402                 32, \
    403                 replace_word32, \
    404                 dont, \
    405                 0)
    406 
    407 ARC_RELOC_HOWTO(ARC_TLS_GD_CALL, 71, \
    408                 2, \
    409                 32, \
    410                 replace_word32, \
    411                 dont, \
    412                 0)
    413 
    414 ARC_RELOC_HOWTO(ARC_TLS_IE_GOT, 72, \
    415                 2, \
    416                 32, \
    417                 replace_word32, \
    418                 dont, \
    419                 0)
    420 
    421 ARC_RELOC_HOWTO(ARC_TLS_DTPOFF, 67, \
    422                 2, \
    423                 32, \
    424                 replace_word32, \
    425                 dont, \
    426                 0)
    427 
    428 ARC_RELOC_HOWTO(ARC_TLS_DTPOFF_S9, 73, \
    429                 2, \
    430                 32, \
    431                 replace_word32, \
    432                 dont, \
    433                 0)
    434 
    435 ARC_RELOC_HOWTO(ARC_TLS_LE_S9, 74, \
    436                 2, \
    437                 32, \
    438                 replace_word32, \
    439                 dont, \
    440                 0)
    441 
    442 ARC_RELOC_HOWTO(ARC_TLS_LE_32, 75, \
    443                 2, \
    444                 32, \
    445                 replace_word32, \
    446                 dont, \
    447                 0)
    448 
    449 ARC_RELOC_HOWTO(ARC_S25W_PCREL_PLT, 76, \
    450                 2, \
    451                 23, \
    452                 replace_disp25w, \
    453                 signed, \
    454                 ( ( ( L + A ) - P ) >> 2 ))
    455 
    456 ARC_RELOC_HOWTO(ARC_S21H_PCREL_PLT, 77, \
    457                 2, \
    458                 20, \
    459                 replace_disp21h, \
    460                 signed, \
    461                 ( ( ( L + A ) - P ) >> 1 ))
    462 
    463